Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник JavaScript

Promise.allSettled

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

Доступно с: ES2020

Синтаксис

Promise.allSettled(promises)

Параметры

ПараметрТипОписание
promisesIterableМассив промисов.

Возвращаемое значение

PromiseПромис массива объектов status и value (или reason).

Примеры

Результаты вместе с ошибками:

const results = await Promise.allSettled([
  Promise.resolve('ok'),
  Promise.reject(new Error('Failed')),
]);
 
for (const result of results) {
  console.log(result.status, result.value ?? result.reason.message);
}

Результат:

fulfilled ok
rejected Failed

Только успешные значения:

const results = await Promise.allSettled([Promise.resolve(1), Promise.reject(new Error('x')), Promise.resolve(3)]);
const values = results.filter((r) => r.status === 'fulfilled').map((r) => r.value);
 
console.log(values.join(', '));

Результат:

1, 3

Примечания

Никогда не отклоняется: каждая ошибка просто попадает в свой объект со статусом rejected.

См. также

  • Promise.all — Ждёт выполнения всех промисов параллельно.
  • Promise.any — Возвращает первый успешный результат, ошибки пропускает.

Вопросы и ответы по теме

В учебнике

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.