Как следует из названия. Как мне это сделать?
Я хочу вызвать whenAllDone()
после того, как forEach-loop прошел через каждый элемент и выполнил некоторую асинхронную обработку.
[1, 2, 3].forEach(
function(item, index, array, done) {
asyncFunction(item, function itemDone() {
console.log(item + " done");
done();
});
}, function allDone() {
console.log("All done");
whenAllDone();
}
);
Можно заставить его работать так? Когда второй аргумент forEach является функцией обратного вызова, которая запускается после того, как она прошла через все итерации?
Ожидаемый результат:
3 done
1 done
2 done
All done!