【发布时间】:2014-07-11 07:04:23
【问题描述】:
我正在使用 jQuery 来运行一些 ajax:
var stuff = {};
function do_stuff(thing){
stuff[thing.id] = thing;
}
function fun(){
var calls = [];
for(var i = 0; i < 10; i++){
var call = $.get(URL, function(data){
do_stuff(data);
});
calls.push(call);
}
$.when(calls).done(function(){
console.log(stuff);
});
}
我正在使用$.when,但我得到的是{},而不是我期望的数据。当我在 Chrome 中设置断点时,log 行在任何 do_stuff 调用之前被调用 - 所以显然调用的顺序混淆了。有没有办法确保console.log(stuff) 行在我的get 回调之后被调用?
【问题讨论】:
-
您是否尝试过使用链接?
call = $.get(URL).then(do_stuff);?
标签: javascript jquery ajax promise