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

Как Promise.all вызывает Promise внутри себя

Promise.all принимает массив промисов и возвращает новый промис, который выполнится, когда все переданные промисы завершатся. Внутри он:

  1. Создаёт новый промис-обёртку
  2. Ждёт завершения всех промисов из массива через then
  3. Собирает результаты в массив в том же порядке
  4. Резолвит общий промис с этим массивом

Если хотя бы один промис из массива отклонён (rejected), Promise.all немедленно отклоняется с этой ошибкой.

Пример:

javascript
const p1 = Promise.resolve(1);
const p2 = new Promise(res => setTimeout(res, 100, 2));

Promise.all([p1, p2])
  .then(values => console.log(values)); // [1, 2]

Важно: Promise.all не вызывает промисы - они должны быть уже созданы до передачи в метод. Он лишь ожидает их завершения.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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