Android 解析core cordova离子全局变量

Android 解析core cordova离子全局变量,android,jquery,cordova,parse-platform,ionic,Android,Jquery,Cordova,Parse Platform,Ionic,我有一个小应用程序,我使用parse core作为后端 $scope.getPeople = function(params) { var PeopleObject = Parse.Object.extend("User"); var query = new Parse.Query(PeopleObject); if(params !== undefined) { if(params.id !== undefined) { qu

我有一个小应用程序,我使用parse core作为后端

  $scope.getPeople = function(params) {
    var PeopleObject = Parse.Object.extend("User");
    var query = new Parse.Query(PeopleObject);
    if(params !== undefined) {
        if(params.id !== undefined) {
            query.equalTo("objectId", params.id);
        }

    }
    query.find({
        success: function(results) {
            //alert("Successfully retrieved " + results.length + " people!");
            for (var i = 0; i < results.length; i++) {
                var object = results[i];
                  $scope.admin=object.get("admin");
                  $scope.uid=object.id;

            }
        },
        error: function(error) {
            alert("Error: " + error.code + " " + error.message);
        }
    });

};
$scope.getPeople=函数(参数){
var PeopleObject=Parse.Object.extend(“用户”);
var query=newparse.query(PeopleObject);
如果(参数!==未定义){
if(params.id!==未定义){
query.equalTo(“objectId”,参数id);
}
}
查询.查找({
成功:功能(结果){
//警报(“已成功检索”+results.length+“people!”);
对于(var i=0;i
问题是我需要在函数外部获取
$scope.admin
$scope.uid

我有另一个名为
getlogin()
的函数,其中我调用
$scope.getPeople()
我还需要
getlogin()
中的两个变量。。如果我在
getPeople()
的success函数中添加一个return,它将返回undefined。我需要一些东西,以便能够获取函数返回的两个变量。

如果在调用
$scope.getPeople()
后需要值,则应将内部代码包装在类似承诺的对象中,并在拥有两个值时解析该对象。在调用位置,您可以在调用此函数后通过链接
.then()
来访问值

例如,类似于:

$scope.getPeople = function(params) {
    var deferred = $q.defer();

    var PeopleObject = Parse.Object.extend("User");
    var query = new Parse.Query(PeopleObject);
    if(params !== undefined) {
        if(params.id !== undefined) {
            query.equalTo("objectId", params.id);
        }

    }
    query.find({
        success: function(results) {
            //alert("Successfully retrieved " + results.length + " people!");
            for (var i = 0; i < results.length; i++) {
                var object = results[i];
                  $scope.admin=object.get("admin");
                  $scope.uid=object.id;

                  defer.resolve({admin: object.get("admin"), uid: object.id})
            }
        },
        error: function(error) {
            alert("Error: " + error.code + " " + error.message);
        }
    });

    return deferred.promise;
};
$scope.getPeople=函数(参数){
var deferred=$q.deferred();
var PeopleObject=Parse.Object.extend(“用户”);
var query=newparse.query(PeopleObject);
如果(参数!==未定义){
if(params.id!==未定义){
query.equalTo(“objectId”,参数id);
}
}
查询.查找({
成功:功能(结果){
//警报(“已成功检索”+results.length+“people!”);
对于(var i=0;i

注意:这应该可以解决您的问题,但是如果只需要检索一个值,您可能希望对查询使用.first()方法,而不是.find()方法

您是否尝试过本地存储或会话存储

SessionStorage在站点中导航时(在同一URL中跨页面)维护该值

LocalStorage会保留该值,直到您清除该值或清除浏览器

例如:

localStorage.setItem('myKey', myObj);
要获得:

var item = localStorage.getItem('myKey');
嗯 加布里埃尔