Я немного запутался, как определить, когда функция асинхронной вызывается несколько раз из другого завершения вызова из последней итерации: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 еще не завершена, когда она перезвонила.
Я думаю, что моя проблема в том, что у меня не было головы вокруг порядка событий при работе с функциями Async в JavaScript ... пожалуйста, объясните, как обычно достигается предмет.
я упростил свой код, что это по-прежнему работать для меня? – Tsar
Да, это все равно будет работать. Дайте мне мгновение, и я преобразую ваш новый код ... –
@Tsar см. Мое редактирование –