JavaScript метод Promise.reject()
Определение и применение
JavaScript метод reject() объекта Promise возвращает объект Promise, который был отклонен по указанной причине (изменяет состояние объекта Promise на rejected - выполнение отклонено).
Поддержка браузерами
Спецификация: ecma262
Поддерживается во всех основных браузерах с 2015 года.
| Возможность | Компьютеры | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
reject | 32 | 12 | 29 | 19 | 8 | 32 | 29 | 19 | 8 | 2.0 | 4.4.3 | 8 |
поддерживается с ограничениями нет поддержки нет данных≤31 — не позднее версии 31
JavaScript синтаксис:
Promise.reject(reason);
reason - экземпляр объекта Error (рекомендовано)
Спецификация
ECMAScript 2015 (6th Edition, ECMA-262)Значения параметров
| Параметр | Описание |
|---|---|
| reason | Причина, по которой обещание было отвергнуто. Для целей отладки и выборочного перехвата ошибок полезно передвать значение, которое соответствует экземпляру ошибки (Error). |
Пример использования
const promise = Promise.resolve("Успешно"); // обещание успешно выполнено с заданным значением
const promise2 = Promise.reject(new Error("Отклонено")); // обещание отклонено с заданным значением
promise.then(function(value) { // Если успешно выполнен (fulfilled)
console.log(value);
}, function (reason) { // Если завершился ошибкой (rejected)
console.log(reason);
});
// Успешно
// использование стрелочной функции
promise2.then( val => console.log(elem), // обработчик для успешного выполнения
reason => console.log(reason.message)); // обработчик при отклоненном выполнении
// Отклонено
В этом примере мы инициализировали две переменные, которые содержат объект Promise, в первом случае с использованием метода resolve() обещание было успешно выполнено с заданным значением, а во втором с использованием метода reject() отклонено.
С использованием метода then() мы добавили обработчики, вызываемые когда объект Promise имеет состояние fulfilled (успешное выполнение), или rejected (выполнение отклонено). В первом случае будет срабатывать обработчик для успешного выполнения, а во втором обработчик при отклоненном выполнении.