JavaScript метод Promise.reject()

Определение и применение

JavaScript метод reject() объекта Promise возвращает объект Promise, который был отклонен по указанной причине (изменяет состояние объекта Promise на rejected - выполнение отклонено).

Поддержка браузерами

Спецификация: ecma262

Поддерживается во всех основных браузерах с 2015 года.

Показать браузеры
Совместимостьjavascript.builtins.Promise.reject
ВозможностьКомпьютерыМобильные
ChromeEdgeFirefoxOperaSafariChrome AndroidFirefox for AndroidOpera AndroidSafari on iOSSamsung BrowserWebView AndroidWebView on iOS
reject✓32✓12✓29✓19✓8✓32✓29✓19✓8✓2.0✓4.4.3✓8

поддерживается с ограничениями нет поддержки нет данных≤31 — не позднее версии 31

JavaScript синтаксис:

JavaScript
Promise.reject(reason);

reason - экземпляр объекта Error (рекомендовано)

Спецификация

ECMAScript 2015 (6th Edition, ECMA-262)

Значения параметров

ПараметрОписание
reasonПричина, по которой обещание было отвергнуто. Для целей отладки и выборочного перехвата ошибок полезно передвать значение, которое соответствует экземпляру ошибки (Error).

Пример использования

JavaScript
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 (выполнение отклонено). В первом случае будет срабатывать обработчик для успешного выполнения, а во втором обработчик при отклоненном выполнении.