我的代码看起来像这样
var response = [];
requests.forEach(function(request){
$.when(
doFirstThing(); //makes ajax call and is async
).then(
doSecondThing(); //makes ajax call and pushes its results to response
);
}
当我得到回复并推送时,它们的顺序不同,我想知道如何以循环调用它们的正确顺序获取它们。
我尝试在forEach循环之外对响应数组进行排序,但这不起作用。还尝试添加
.done(
sortResponses();
);
但也没有。请帮忙。
答案 0 :(得分:0)
.then()
和.done()
的参数必须是对函数的引用。您正在调用该函数,因为您将()
放在函数名后面。要么自己传递函数名称
.then(doSecondThing)
或使用匿名函数来调用它
.then(() => doSecondThing())