Sobes.tech
Middle

Parlez-moi de Promise : états, méthodes statiques (all, any, allSettled, race). Que renverra Promise.all si l'une des promesses se termine par une erreur ?

sobes.tech IA

Réponse de l'IA

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

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

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

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

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