Помимо других ответов, я хочу отметить, что циклы asyn c и forEach работают не совсем так, как ожидалось. Одним из возможных решений является наличие пользовательской реализации, которая поддерживает это:
Функция утилиты:
async function asyncForEach(array: Array<any>, callback: any) {
for (let index = 0; index < array.length; index++) {
await callback(array[index], index, array);
}
}
Пример использования:
const start = async () => {
await asyncForEach([1, 2, 3], async (num) => {
await waitFor(50);
console.log(num);
});
console.log('Done');
}
start();
Пройдя через эту статью от Себастьяна Шопена может помочь прояснить, почему async / await и forEach действуют неожиданно. Вот как суть .