Ответ
Использование await внутри forEach не будет работать ожидаемо, так как forEach не поддерживает асинхронные операции. Он просто запустит все колбэки параллельно и не дождётся их завершения.
Пример:
async function processItems(items) {
items.forEach(async (item) => {
await someAsyncFunction(item); // Не будет ожидаться
});
console.log('Done'); // Выполнится до завершения асинхронных операций
}
Решение:
Используйте for...of или Promise.all:
async function processItems(items) {
for (const item of items) {
await someAsyncFunction(item); // Корректное ожидание
}
console.log('Done'); // Выполнится после всех await
}