Объект Promise представляет завершение или неудачу асинхронной операции и ее результаты.
Промис может иметь три состояния:
| ожидание | исходное состояние |
| отклонено | операция не удалась |
| выполнено | операция завершена |
Пример
// Создаем объект-промис
let myPromise = new Promise(function(myResolve, myReject) {
let result = true;
// Здесь находится код, выполнение которого может занять некоторое время
if (result == true) {
myResolve("OK");
} else {
myReject("Error");
}
});
// Использование then() для отображения результата
myPromise.then(x => myDisplay(x), x => myDisplay(x));
JavaScript Методы и свойства Promise
| Имя | Описание |
|---|---|
| Promise.all() | Возвращает одно обещание из списка обещаний Когда все обещания выполняются |
| Promise.allSettled() | Возвращает одно обещание из списка обещаний Когда все обещания установлены |
| Promise.any() | Возвращает одно обещание из списка обещаний Когда любое обещание выполняется |
| Promise.race() | Возвращает одно обещание из списка обещаний Когда выполняется более быстрое обещание |
| Promise.reject() | Возвращает объект Promise, отклоненный со значением |
| Promise.resolve() | Возвращает объект Promise, разрешенный со значением |
| catch() | Предоставляет функцию, вызываемую в случае отклонения обещания |
| finally() | Предоставляет функцию, которая будет вызываться, когда обещание выполнено или отклонено |
| then() | Предоставить две функции, которые будут вызываться, когда обещание выполнено или отклонено |