Middle
Pastāstiet par Promise: stāvokļiem, statiskajām metodēm (all, any, allSettled, race). Ko atgriezīs Promise.all, ja viens no solījumiem beigsies ar kļūdu?
sobes.tech AI
Atbilde no AI
Promise — это объект, представляющий результат асинхронной операции. У него есть три состояния:
- pending (ожидание)
- fulfilled (выполнено успешно)
- rejected (отклонено с ошибкой)
Статические методы:
Promise.all(iterable)— ждёт выполнения всех промисов. Если все успешны, возвращает массив результатов. Если хотя бы один отклонён, возвращает ошибку первого отклонённого промиса.Promise.any(iterable)— ждёт первого успешно выполненного промиса. Если все отклонены, возвращает AggregateError.Promise.allSettled(iterable)— ждёт завершения всех промисов, возвращает массив объектов с результатами и статусами, независимо от успеха или ошибки.Promise.race(iterable)— возвращает результат первого завершившегося промиса, будь то успех или ошибка.
Если один из промисов в Promise.all завершится с ошибкой, весь Promise.all сразу же отклонится с этой ошибкой, и дальнейшие результаты игнорируются.