Подводные камни async/await в циклах
Прочитал небольшую статью Тори Волкера "The Pitfalls of Async/Await in Array Loops" про использование async/await в циклах.
По ходу статьи Тори рассказывает как добиться того, чтобы три промиса были выполнены по порядку с использованием циклов. В начале он показывает неправильно работающий пример с использованием forEach
и объясняет, почему он не работает так как нужно (в комментариях есть больше подробностей). Потом показывает уже работающее решение с использованием map
. В этом примере почти всё работает как ожидается, но промисы не ждут друг друга. В последнем примере используется for...of
, с которым всё ок – каждый промис ждёт выполнения предыдущего.
Статья небольшая, но вполне адекватная. Если у вас в проекте используется async/await, то статья может быть вам полезна.
https://medium.com/dailyjs/the-pitfalls-of-async-await-in-array-loops-cf9cf713bfeb