【发布时间】:2015-08-10 09:37:09
【问题描述】:
我需要在循环中进行n AJAX 调用并将结果存储在一个数组中。当所有请求都完成并且数组中充满了返回的 JSON 数据时,我想遍历它来检查它。
这里有两个问题:
1) 如何使jqxhr 在$.each 之外可用?
2) jqxhr 如何知道循环何时结束调用complete?我只想在循环内的所有 AJAX 调用完成时调用 complete 承诺。
$.each(jsonFilesArray, function (i, jsonQuestID) {
var jqxhr = $.getJSON("dialog/quest_"+jsonQuestID+".json", function(json) {
vocabJSONArray.push(json);
}).done(function () {
log("done");
}).fail(function () {
log("error");
}).always(function() {
log("complete");
});
});
jqxhr.complete(function () {
//loop through vocabJSONArray
});
【问题讨论】: