我有点困惑如何确定从另一个函数多次调用的异步函数何时完成上一次迭代的调用:
function MainAsyncFunction(callback) {
for (var i = 0; i < 10; i++) {
SubAsyncFunction(function(success) {
if (i >= 10 && success) { // THIS IS WRONG?!
callback(true); // happens too early
}
});
}
};
function SubAsyncFunction(callback) {
SubSubAsyncFunction(function() {
callback(true);
});
}
我正在做的是调用谷歌距离矩阵服务,它有 25 个目的地的限制,因此我不得不拆分我的目的地数组来多次调用这个服务,但我不明白它什么时候完成。
在代码的主要部分中,我可以看出MainAsyncFunction中循环的第二次迭代在它进行回调时尚未完成。
我认为我的问题是在处理 JavaScript 中的异步函数时,我没有弄清楚事件的顺序......请解释一下这个主题通常是如何实现的。