我有以下代码:
var arrOutfit = []; // will be filled
...
$.when(
$.each(arrOutfit, function(key, sAdd) {
$.post('/checkout/addArticle', 'sAdd=' + sAdd + '&sQuantity = 1');
});
).then() {
// something
}
但这不起作用。我认为数组循环无效。正如你所看到的,我有多个ajax调用,我想只有一个回调,所以我知道,当所有的请求都完成了。我怎样才能做到这一点?
任何想法都将受到赞赏。
祝你好运
答案 0 :(得分:2)
您对$.when
的使用并不完全正确。试试这个:
var arrOutfit = [], // will be filled
promises = [];
// ...
$.each(arrOutfit, function(key, sAdd) {
promises.push($.post('/checkout/addArticle', 'sAdd=' + sAdd + '&sQuantity = 1'));
});
$.when.apply($, promises).then(function(schemas) {
// something...
});
请注意,each
用于填充带有promise的数组,然后提供给when
,这些将在完成后执行。