У меня есть функция, которая несколько раз вызывает асинхронную функцию в цикле.Как узнать, когда заканчиваются асинхронные функции
function myFunc() {
var things = [1, 2, 3, 4, 5];
$.each(things, asyncFunc);
alert('Things ' + things.join() + ' have all been processed.');
}
function asyncFunc(key, value) {
$.post('api.php', value: thing);
}
Я хочу продолжить работу только после завершения всех асинхронных вызовов.
Я мог бы сделать asyncFunc
возвращения отложенного объекта и вызвать .resolve()
в методе $.post.done
, но тогда как я мог заблокировать цикл .each
и продолжаю только тогда, когда asyncFunc
закончена?
Какие еще способы можно продолжить, только если все звонки на asyncFunc
сделаны?
Ах, хорошо. У меня уже есть обратный вызов в 'asyncFunc', поэтому я просто добавил дополнительный вызов обратного вызова в конец текущего обратного вызова. В любом случае, не могли бы вы дать ответ, чтобы показать весь рабочий код для новых людей, чтобы узнать, пожалуйста? – CJxD