Sobes.tech
Middle

Μίλησε για το Promise: καταστάσεις, στατικές μέθοδοι (all, any, allSettled, race). Τι θα επιστρέψει το Promise.all αν ένα από τα promises ολοκληρωθεί με σφάλμα;

sobes.tech AI

Απάντηση από AI

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

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

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

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

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