Встречается на собеседованиях • сегодня

Почему нельзя заменить Promise.all на цикл

Promise.all выполняет промисы параллельно, а цикл (например, for или forEach) — последовательно. Это ключевое отличие в производительности.

Пример:

javascript
// Promise.all - параллельное выполнение
await Promise.all([fetch(url1), fetch(url2)]); // оба запроса запускаются сразу

// Цикл - последовательное выполнение
for (const url of [url1, url2]) {
await fetch(url); // второй запрос ждёт завершения первого
}

text

Также `Promise.all`:
- Возвращает массив результатов в порядке промисов, даже если они завершаются в разное время.
- Отклоняется при первой ошибке (если не используется `Promise.allSettled`).  

Цикл же требует ручного управления ошибками и не даёт преимуществ параллелизма.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы