Javascript 尝试使用parse和jquery将所有对象存储到一个对象中

Javascript 尝试使用parse和jquery将所有对象存储到一个对象中,javascript,parse-platform,Javascript,Parse Platform,我正在尝试将所有返回的对象存储到一个对象中以供以后使用。我已经设置了循环,但是当我试图用新对象执行一些代码时,它是空的。在这种情况下,在这里提醒对象。我猜警报是在循环完成之前执行的。有办法解决这个问题吗 var followers = new Array; Parse.initialize("xxxxxx", "xxxxx"); var currentUser = Parse.User.current(); var users = JSON.stringify(currentUser); var

我正在尝试将所有返回的对象存储到一个对象中以供以后使用。我已经设置了循环,但是当我试图用新对象执行一些代码时,它是空的。在这种情况下,在这里提醒对象。我猜警报是在循环完成之前执行的。有办法解决这个问题吗

var followers = new Array;
Parse.initialize("xxxxxx", "xxxxx");
var currentUser = Parse.User.current();
var users = JSON.stringify(currentUser);
var user = eval("(" + users + ")");
var listsfollow = user.Follow;
for (var i = 0; i < listsfollow.length; i++) {
    var allUsers = Parse.Object.extend("User");
    var query = new Parse.Query(allUsers);
    query.get(listsfollow[i], {
        success: function (results) {
            followers.push(results);
        },
        error: function (object, error) {
            // The object was not retrieved successfully.
            // error is a Parse.Error with an error code and description.
        }
    });
};
alert(followers);
var followers=新数组;
解析。初始化(“xxxxxx”、“xxxxx”);
var currentUser=Parse.User.current();
var users=JSON.stringify(currentUser);
var user=eval(“(“+users+”);
var listsfollow=user.Follow;
对于(变量i=0;i
您是正确的,jquery中的AJAX内容是异步的,因此
.get()
将在警报后发生。最快和最脏的方法是在发出请求之前将其设置为async至false:
更好的方法是让代码在调用结果准备就绪时响应调用结果。这将防止页面阻塞并加快代码速度。

这是一个异步查询,并且警报将在查询启动后立即显示,因此在查询返回任何结果后不太可能执行


任何依赖于查询结果的代码都应该移到success或error回调函数中

我不知道如何让它等待查询,但在上一次循环迭代之后,我用它做了一些事情。工作得很好

          if((--remaining)==0)alert(followers);

谢谢你,赫克托!有什么例子吗?当我将代码放入success中时,它会在循环的每次迭代中重复。这应该会有帮助: