-1
我有一个需要一个接一个地动态确定的ajax调用列表。由于Promise在所有浏览器中都没有实现,所以在完成之前是否有办法让每个Ajax调用?按顺序运行ajax调用
我曾尝试:
var favoritesArray = [1,2,3] //dynamically created by user
var arrayOfCalls = $.each(favoritesArray, function each(idx) {
var favId = favoritesArray[idx];
return $.ajax({ url: '/favorites/' + favId, type: 'DELETE' });
});
$.when(arrayOfCalls)
.then(function success() {
doStuff();
});
的所有调用运行,但不等待前一个完成。有没有办法做到这一点?
不知道为什么你担心它。这些似乎都不依赖于以前的。 '$ .when'将是一致的跨浏览器,但请注意,没有任何东西会从'$ .each'返回,所以'arrayOfCalls'将不确定 – charlietfl
每个调用都会更新同一个列表,如果同时触发调用,则剩下的项目清单将不正确且不同,具体取决于首先完成的清单。 – ebbishop
感谢关于$ .each的说明。 – ebbishop