Сообщение «Все файлы загружены» появляется до окончания загрузки
async function uploadAll(files) {
files.forEach(async (file) => {
await uploadFile(file);
});
showToast('Все файлы загружены');
}
Уведомление появляется сразу, пока файлы ещё грузятся, а ошибки загрузки не ловятся вызывающим кодом. Почему?
- forEach не ждёт промисы из колбэка — нужен for...of с await или Promise.all
- await внутри колбэка forEach игнорируется интерпретатором
- showToast нужно вызывать с await, тогда он дождётся загрузки
- Асинхронную функцию нельзя передавать как колбэк в методы массива
