ex.callAPI函数是异步的,它是外部脚本的一部分。如何暂停执行循环,直到每次调用完成为止?
for (var x = 0; x < apiuRLs.length; x++) {
result = ex.callAPI(apiuRLs[x]) //async call
//do somthing with result
}
答案 0 :(得分:0)
答案取决于callAPI的工作原理。它返回一个承诺,你可以这样做:
var urlIndex = 0;
function next() {
ex.callAPI(apiuRLs[index]).then(function(result) {
//Do something with result
if (urlIndex++ >= apiuRLs.length) {
next();
} else {
done();
}
});
}
next();
如果callAPI接受回调,您可以执行以下操作:
var urlIndex = 0;
function onResult(result) {
//Do something with result
if (urlIndex++ >= apiuRLs.length) {
ex.callAPI(apiuRLs[index], onResult);
} else {
done();
}
}
ex.callAPI(apiuRLs[index], onResult);