Вступить в клуб →
средняявопросJavaScript и TypeScript

Сообщение «Все файлы загружены» появляется до окончания загрузки

async function uploadAll(files) {
  files.forEach(async (file) => {
    await uploadFile(file);
  });
  showToast('Все файлы загружены');
}

Уведомление появляется сразу, пока файлы ещё грузятся, а ошибки загрузки не ловятся вызывающим кодом. Почему?

  • forEach не ждёт промисы из колбэка — нужен for...of с await или Promise.all
  • await внутри колбэка forEach игнорируется интерпретатором
  • showToast нужно вызывать с await, тогда он дождётся загрузки
  • Асинхронную функцию нельзя передавать как колбэк в методы массива

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела