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

Что произойдет, если хотя бы один из запросов выполнит reject, что будет с остальными Promise

Если хотя бы один Promise в Promise.all() выполнит reject, весь Promise.all() немедленно завершится с этим reject, игнорируя остальные Promise, даже если они успешно resolved. Однако остальные Promise продолжат выполняться в фоне, просто их результаты не будут обработаны.

Пример:

javascript
const p1 = Promise.resolve('Успех');
const p2 = Promise.reject('Ошибка');
const p3 = new Promise((resolve) => setTimeout(resolve, 1000, 'Третий'));

Promise.all([p1, p2, p3])
  .catch(err => console.log(err)); // Выведет "Ошибка"
// p3 все равно выполнится, но его результат не будет обработан

Альтернатива - Promise.allSettled(), который ждет завершения всех Promise независимо от их статуса.

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

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

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

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