| import { |
| noop, |
| reject as _reject |
| } from '../-internal'; |
| |
| /** |
| `Promise.reject` returns a promise rejected with the passed `reason`. |
| It is shorthand for the following: |
| |
| ```javascript |
| let promise = new Promise(function(resolve, reject){ |
| reject(new Error('WHOOPS')); |
| }); |
| |
| promise.then(function(value){ |
| // Code here doesn't run because the promise is rejected! |
| }, function(reason){ |
| // reason.message === 'WHOOPS' |
| }); |
| ``` |
| |
| Instead of writing the above, your code now simply becomes the following: |
| |
| ```javascript |
| let promise = Promise.reject(new Error('WHOOPS')); |
| |
| promise.then(function(value){ |
| // Code here doesn't run because the promise is rejected! |
| }, function(reason){ |
| // reason.message === 'WHOOPS' |
| }); |
| ``` |
| |
| @method reject |
| @static |
| @param {Any} reason value that the returned promise will be rejected with. |
| Useful for tooling. |
| @return {Promise} a promise rejected with the given `reason`. |
| */ |
| export default function reject(reason) { |
| /*jshint validthis:true */ |
| let Constructor = this; |
| let promise = new Constructor(noop); |
| _reject(promise, reason); |
| return promise; |
| } |