Encodera

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

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

Справочник JavaScript

Promise.any

Возвращает первый успешный результат, ошибки пропускает.

Доступно с: ES2021

Синтаксис

Promise.any(promises)

Параметры

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

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

PromiseПромис с первым успешным результатом или AggregateError, если все отклонены.

Примеры

Первый успешный ответ:

const result = await Promise.any([
  Promise.reject(new Error('Mirror 1 down')),
  new Promise((resolve) => setTimeout(() => resolve('Mirror 2'), 50)),
  new Promise((resolve) => setTimeout(() => resolve('Mirror 3'), 100)),
]);
 
console.log(result);

Результат:

Mirror 2

Примечания

В отличие от Promise.race(), ошибка не завершает ожидание. Только если отклонены все промисы, выбрасывается AggregateError со списком ошибок в свойстве errors.

См. также

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

В учебнике

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

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