JavaScript объект Promise
Описание объекта Promise
Объект Promise (обещание) представляет из себя специальный объект, предназначенный для планирования
работы над значением, которое еще не было вычислено (завершение или сбой асинхронной операции). Объект
Promise представляет из себя абстракцию для управления взаимодействиями с асинхронными
API.
Объект Promise может находиться в следующих состояниях:
Начальное состояние любого объекта Promise - pending (ожидание). Если операция завершена успешно,
то объект Promise изменяет свое состояние на fulfilled (выполнено), в том случае если операция
завершена ошибкой, то объект Promise изменяет свое состояние на rejected (отклонено).
Еще один термин settled (решенный) используется для описания состояния объекта Promise, который
изменил свое состояние на fulfilled (выполнено), или rejected (отклонено).
Синтаксис объекта Promise
let promise = newPromise( executor );
let executor = function( resolve, reject ) {
}
executor - Function
Значение параметра
| Параметр | Описание |
|---|---|
| executor | Представляет из себя объект функции, который принимает два аргумента: resolve и reject. Аргументы представляют из себя функции, которые могут быть вызваны по завершению операции, первый аргумент вызывает успешное выполнение обещания, а второй отклоняет его. |
Методы объекта Promise
| Метод | Описание |
|---|---|
| all() |
Метод возвращает объект Promise, который имеет состояние fulfilled (успешное выполнение) в
том случае, когда все переданные объекты Promise в аргументе имеют состояние
fulfilled (успешное выполнение), или когда аргумент не содержит объектов Promise. Метод
возвращает объект Promise, который имеет состояние rejected (выполнение отклонено) в том
случае, когда один из переданных объектов изменил своё состояние на rejected (выполнение отклонено).
|
| catch() |
Добавляет обработчик или обработчики, которые будут вызваны при изменении состояния объекта
Promise на rejected (выполнение отклонено).
|
| finally() |
Добавляет обработчик, который будет вызван вне зависимости от того с каким результатом объект
Promise был выполнен (rejected - выполнение отклонено, или fulfilled - успешное
выполнение).
|
| race() |
Метод возвращает объект Promise, который имеет состояние rejected (выполнение отклонено),
или fulfilled (успешное выполнение). Результат выполнения зависит от того, с каким результатом
завершается выполнение первого из переданных объектов Promise.
|
| reject() |
Метод возвращает объект Promise, который был отклонен по указанной причине (изменяет состояние
объекта Promise на rejected - выполнение отклонено).
|
| resolve() |
Метод возвращает объект Promise, который был успешно выполнен с заданным значением (изменяет
состояние объекта Promise на fulfilled - успешное выполнение).
|
| then() |
Добавляет обработчик, или обработчики, вызываемые когда объект Promise имеет состояние
fulfilled (успешное выполнение), или rejected (выполнение отклонено).
|