我有点困惑如何确定何时称为异步函数多次从另一个完成对最后一个迭代的电话:的jQuery JavaScript的嵌套异步函数回调
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);
});
}
我在做什么在呼唤Google Distance Matrix service,它有25个目的地的限制,因此我不得不拆分我的目的地数组来调用这个服务多次,但我不明白它什么时候结束。
并且在代码的主要位中,我可以看出MainAsyncFunction中的循环的第二次迭代在进行回调时尚未完成。
我认为我的问题是我在处理JavaScript中的异步函数时没有掌握事件的顺序......请解释如何正常实现主题。
我已经简化了我的代码,将这个对我来说还是工作? – Tsar 2012-03-29 15:06:47
是的,这仍然有效。给我一点,我会转换你的新代码... – 2012-03-29 15:16:53
@Tsar看到我的编辑 – 2012-03-29 16:17:58