Sobes.tech
Назад к вопросам
Middle
2

Расскажите про Promise: состояния, статические методы (all, any, allSettled, race). Что вернёт Promise.all, если один из промисов завершится с ошибкой?

Компании, где спрашивали
ОТП БанкОТП Банк

Ответ от нейросети

sobes.tech AI

Promise — это объект, представляющий результат асинхронной операции. У него есть три состояния:

  • pending (ожидание)
  • fulfilled (выполнено успешно)
  • rejected (отклонено с ошибкой)

Статические методы:

  • Promise.all(iterable) — ждёт выполнения всех промисов. Если все успешны, возвращает массив результатов. Если хотя бы один отклонён, возвращает ошибку первого отклонённого промиса.
  • Promise.any(iterable) — ждёт первого успешно выполненного промиса. Если все отклонены, возвращает AggregateError.
  • Promise.allSettled(iterable) — ждёт завершения всех промисов, возвращает массив объектов с результатами и статусами, независимо от успеха или ошибки.
  • Promise.race(iterable) — возвращает результат первого завершившегося промиса, будь то успех или ошибка.

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