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

Как обработать сразу несколько Promise, если один из них был отклонен

Используйте Promise.allSettled() для обработки нескольких промисов, когда важно получить результаты всех, даже если некоторые отклонены. Он возвращает массив объектов с статусом (fulfilled/rejected) и значением/причиной.

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

Пример с Promise.allSettled():

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

Promise.allSettled(promises)
  .then(results => {
    results.forEach(result => {
      if (result.status === 'fulfilled') {
        console.log('Успех:', result.value);
      } else {
        console.log('Ошибка:', result.reason);
      }
    });
  });
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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