如何知道所有这些请求何时完成?
$.each(data.response.docs, function(i, item) {
$.getJSON("jsp/informations.jsp?id=" + item.id, {}, function(data) {..});
});
最佳答案
您可以在每个请求完成时维护一个计数器,但这有点丑陋和不雅。相反,您可以使用 map()
将从 $.getJSON
返回的延迟对象放入一个数组中。然后,您可以将数组应用于 $.when
。像这样:
var requests = $.map(data.response.docs, function(i, item) {
return $.getJSON('jsp/informations.jsp', { id: item.id }, function(data) {
// ...
});
}).get();
$.when.apply(requests).done(function() {
// all requests complete...
});
关于javascript - 如何知道一组 getJSON() 请求何时完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35509586/