【发布时间】:2013-09-26 01:10:46
【问题描述】:
我有以下功能:
$.each(friends, function(friend, data) {
var group = "Chat";
$.ajax({'type':'GET', 'url':'/site/getgroup?username=' + friend,
'success':function(callback){
group = callback;
self.addFriend(friend, data.status, group);
}, //ajax success
}); //ajax
});
在这些代码之后,我有一些代码可以使用来自这些 .each 和 .ajax 的数据来初始化 chatBar。然而,现在由于 Ajax 是异步的,它变得非常有问题。我怎么知道这些 .each 都完成了返回的 ajax 值而不将 ajax async 设置为 false? (表示这部分已经完成)。
有没有一种方法可以让我使用 .promise、.complete 或 XHR 来了解整个 .each 事物是否完整?我尝试了很多东西,但它们似乎不适合我。
谢谢,
【问题讨论】:
-
我会以不同的方式解决这个问题,只发出一个 Ajax 请求并在回调中循环遍历结果。尽管该解决方案可能需要对
getgroup进行一些重构。
标签: javascript jquery ajax asynchronous