嵌套函数中的Javascript不可访问数组
这里有一个具有嵌套查询的解析函数。在第二个查询的success函数中,我尝试推送到postsArray中的'posts'属性数组。但是,我在回调中得到了“无法读取未定义的属性'posts'。这与全局变量作用域有关吗?我不明白,我对javascript没有太多经验嵌套函数中的Javascript不可访问数组,javascript,parse-platform,Javascript,Parse Platform,这里有一个具有嵌套查询的解析函数。在第二个查询的success函数中,我尝试推送到postsArray中的'posts'属性数组。但是,我在回调中得到了“无法读取未定义的属性'posts'。这与全局变量作用域有关吗?我不明白,我对javascript没有太多经验 Parse.Cloud.define("getPosts", function(request, response){ Parse.Cloud.useMasterKey(); //Get all my bubbles var pos
Parse.Cloud.define("getPosts", function(request, response){
Parse.Cloud.useMasterKey();
//Get all my bubbles
var postsArray = {};
var bubbles = new Array();
var query = new Parse.Query("Bubble");
query.equalTo("owner", request.user);
query.find({
success: function(results){
for(var i = 0; i < results.length; i++){
postsArray[i] = {};
postsArray[i]["bubble"] = results[i];
postsArray[i]["posts"] = {};
//bubbles[i] = results[i];
var members = results[i].get("members");
for(var j = 0; j < members.length; j++){
// posts[i]["posts"][j] = members[j];
var postQuery = new Parse.Query("Post");
//postQuery.equalTo("owner", members[j]);
//postQuery.equalTo("members", request.user);
postQuery.find({
success: function(results2){
for(var l = 0; l < results2.length; l++){
postsArray[i]["posts"].push(results2[l]);
if(l == results2.length-1){
response.success(postsArray);
}
}
},
error: function(){
response.error("Failed");
}
});
}
}
},
error: function(){
response.error("Failed");
}
});
});
Parse.Cloud.define(“getPosts”),函数(请求、响应){
Parse.Cloud.useMasterKey();
//拿我所有的泡泡
var postsArray={};
var-bubbles=新数组();
var query=newparse.query(“Bubble”);
query.equalTo(“所有者”,request.user);
查询.查找({
成功:功能(结果){
对于(var i=0;i
你不能推到对象?闭包问题。简言之,i
将等于结果。调用success
调用postQuery
时,长度将等于。有没有克服@raina77ow的方法?