在循环数组时延迟$ .when

我有以下代码:

var arrOutfit = []; // will be filled ... $.when( $.each(arrOutfit, function(key, sAdd) { $.post('/checkout/addArticle', 'sAdd=' + sAdd + '&sQuantity = 1'); }); ).then() { // something } 

但这不起作用。 我认为数组循环无效。 你可以看到我有多个ajax调用,我想只有一个回调,所以我知道,当所有的请求都完成了。 我怎样才能做到这一点?

任何想法将不胜感激。

最好的祝福

你使用$.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用于使用promises填充数组,然后将promises提供给将when完成后执行的时间。