var TableObject = Parse.Object.extend(TableId);
var qyNewParse = new Parse.Query(TableObject);
qyNewParse.doesNotExist("last_sync");
qyNewParse.find({
success: function(results) {
},
error: function(error){
}
});
var something = results.length
例如,如果我想在函数外部获取result.length。如何获取 var something 值?
答案 0 :(得分:4)
您无法使用函数返回查询结果,因为该函数将始终在查询完成之前返回。您应该为函数提供自己的回调参数,而不是让函数返回值,该参数将在查询完成时调用,如:
function some_cback(callback) {
var TableObject = Parse.Object.extend(TableId);
var qyNewParse = new Parse.Query(TableObject);
qyNewParse.doesNotExist("last_sync");
qyNewParse.find({
success: function(results) {
callback(results); //call the callback
},
error: function(error){
}
});
}
//call the function
var something = some_cback(function(response) {
console.log(response);
});
答案 1 :(得分:0)
如果你在这里使用角度,你可以使用一个示例代码。使用承诺($ q)正确处理,所以基本上你的代码将“等待”,直到承诺如果履行,然后继续前进
runParseFunction = function(param) {
var deferred = $q.defer();
Parse.Cloud.run('myParseFunction', { param: param }, {
success: function(response) {
deferred.resolve(response);
},
error: function(error) {
deferred.reject(error);
}
});
return deferred.promise;
};
比在外面的任何其他地方打电话:
runParseFunction(param).then(function(response) {
console.log(response);
});