我有一个循环调用 API 并将结果编译到数组中。如何等到所有调用都完成后再恢复执行?我看到一堆关于如何等到一个电话完成的答案,但我不明白如何检查所有这些。如果我做一个等待直到“obj”长度正确的while循环,页面就会停止,直到调用完成,这不是我想要的。请帮忙?
function getData(id) {
var thisI = i;
var url = "www.whatever.com?id=" + id;
$.getJSON(url, function(data) {
obj[thisI]=data;
});
}
obj = [];
for (i=0; i < ids.length; i++) {
getData(ids[i]);
}
console.log(obj) //this works! I see all of the elements
document.getElementById("txt").innerHTML=obj[0]['field']; //TypeError: obj[0] is undefined