Angularjs 在iOS模拟中解析.Cordova应用程序

Angularjs 在iOS模拟中解析.Cordova应用程序,angularjs,cordova,parse-platform,ionic-framework,Angularjs,Cordova,Parse Platform,Ionic Framework,因此,我有一个与cordova配合使用的angular应用程序,当服务于本地web主机时,它可以按预期工作,从parse.com推拉登录数据 但是,当我在IOS模拟器中编译和仿真时,似乎命令 parse.initialize("453ioejblahgf3oi5j35p","f30903959fblahblah"); 正在赚$state.go无法工作 :( 仔细检查后,似乎Parse.initialize(“faerfaerf”;“aefaerfaer”)停止了它后面的所有代码-- 如果我将

因此,我有一个与cordova配合使用的angular应用程序,当服务于本地web主机时,它可以按预期工作,从parse.com推拉登录数据

但是,当我在IOS模拟器中编译和仿真时,似乎命令

parse.initialize("453ioejblahgf3oi5j35p","f30903959fblahblah"); 
正在赚$state.go无法工作

:(

仔细检查后,似乎Parse.initialize(“faerfaerf”;“aefaerfaer”)停止了它后面的所有代码--


如果我将警报移动到parse.init上方,它会触发。但是当它在parse.init之后时,它不会触发。

Javascript是
解释的
语言。这意味着,任何
运行时
错误都不会停止程序,直到到达特定行


查看您的问题,似乎未定义
对象解析
。您是否包含它可能需要的任何
Parse.js
文件?移动
Parse.initialize()
到脚本末尾,这样它就不会停止其余代码的执行。

我已将解析初始化放在一个单独的
UserService.init()
中,必须在应用程序启动时解决

.state('tab', {
    url: "/tab",
    abstract: true,
    templateUrl: "templates/tabs.html",
    resolve: {
        user: function (UserService) {
            var value = UserService.init();
            // alert(value); // for debugging
            return value;
        }
    }
})
下面是
UserService
代码的一个片段

   init: function () {

    var value = null;

    var deferred = $q.defer();
    // if initialized, then return the activeUser
    if (parseInitialized === false) {
        Parse.initialize(ParseConfiguration.applicationId, ParseConfiguration.javascriptKey);
        parseInitialized = true;
        console.log("parse initialized in init function");
    }

    setTimeout(function () {
        var currentUser = Parse.User.current();
        if (currentUser) {
            deferred.resolve(currentUser);
        } else {
            deferred.reject({error: "noUser"});
        }
    }, 100);
    return deferred.promise;
},
完整的解决方案在这里

   init: function () {

    var value = null;

    var deferred = $q.defer();
    // if initialized, then return the activeUser
    if (parseInitialized === false) {
        Parse.initialize(ParseConfiguration.applicationId, ParseConfiguration.javascriptKey);
        parseInitialized = true;
        console.log("parse initialized in init function");
    }

    setTimeout(function () {
        var currentUser = Parse.User.current();
        if (currentUser) {
            deferred.resolve(currentUser);
        } else {
            deferred.reject({error: "noUser"});
        }
    }, 100);
    return deferred.promise;
},