Sobes.tech
Back to questions
Junior — Middle
101

Могли бы вы объяснить, что делает метод Promise.allSettled в JavaScript?

Companies where asked
Бизнес-Азимут

Answer from AI

sobes.tech AI

Метод Promise.allSettled в JavaScript принимает массив промисов и возвращает новый промис, который выполнится, когда все переданные промисы завершатся — независимо от того, успешно или с ошибкой.

В отличие от Promise.all, который отклоняется при первом же отклонённом промисе, allSettled ждёт завершения всех и возвращает массив объектов с результатами каждого промиса.

Каждый объект в массиве имеет вид:

  • { status: "fulfilled", value: ... } — если промис успешно выполнился
  • { status: "rejected", reason: ... } — если промис отклонился

Пример:

const promises = [
  Promise.resolve(1),
  Promise.reject('Ошибка'),
  Promise.resolve(3)
];

Promise.allSettled(promises).then(results => {
  results.forEach(result => {
    if (result.status === 'fulfilled') {
      console.log('Успех:', result.value);
    } else {
      console.log('Ошибка:', result.reason);
    }
  });
});