Promise.allSettled()

Ждёт завершения всех промисов независимо от исхода и возвращает массив с состоянием каждого.

СигнатураPromise.allSettled(iterable)

Возвращает промис, который выполняется, когда все входные промисы завершились — неважно, успешно или с ошибкой. Результат — массив объектов вида {status, value} или {status, reason}.

const promises = [
  Promise.resolve(42),
  Promise.reject('ошибка')
];

Promise.allSettled(promises).then((results) => {
  console.log(results);
  // результат: [
  //   { status: 'fulfilled', value: 42 },
  //   { status: 'rejected', reason: 'ошибка' }
  // ]
});

В отличие от Promise.all(), не прерывается на первой ошибке.

← Все записи: Промисы и async в JavaScript
Поддержать проект