Mozilla's getting a new look. What do you think?

The Promise.reject(reason) method returns a Promise object that is rejected with the given reason.




Reason why this Promise rejected.

Return value

A Promise that is rejected with the given reason.


The static Promise.reject function returns a Promise that is rejected. For debugging purposes and selective error catching, it is useful to make reason an instanceof Error.


Using the static Promise.reject() method

Promise.reject("Testing static reject").then(function(reason) {
  // not called
}, function(reason) {
  console.log(reason); // "Testing static reject"

Promise.reject(new Error("fail")).then(function(error) {
  // not called
}, function(error) {
  console.log(error); // Stacktrace


Specification Status Comment
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Promise.reject' in that specification.
Standard Initial definition in an ECMA standard.
ECMAScript 2017 Draft (ECMA-262)
The definition of 'Promise.reject' in that specification.

Browser compatibility

Feature Chrome Edge Firefox Internet Explorer Opera Safari Servo
Basic Support32.0(Yes)29.0No support197.1No support
Feature Android Chrome for Android Edge Mobile Firefox for Android IE Mobile Opera Mobile Safari Mobile
Basic Support4.4.432.0(Yes)29No support(Yes)8.0

See also

Document Tags and Contributors

 Contributors to this page: eduardoboucas, fscholz, jpmedley, madarche, Jib, realityking, SphinxKnight
 Last updated by: eduardoboucas,