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

Почему свойство Promise.all не подходит для ожидания выполнения всех Promise

Promise.all не подходит, если хотя бы один промис отклоняется (rejects) — тогда весь Promise.all сразу завершается с ошибкой, игнорируя остальные промисы.

Для ожидания всех промисов (включая отклонённые) используйте Promise.allSettled. Он дожидается завершения всех промисов и возвращает массив результатов с их статусами (fulfilled или rejected).

Пример:

javascript
const promises = [
  Promise.resolve('Успех'),
  Promise.reject('Ошибка'),
  Promise.resolve('Ещё успех')
];

Promise.allSettled(promises)
  .then(results => {
    results.forEach(result => {
      console.log(result.status); // "fulfilled" или "rejected"
    });
  });
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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