Creating Promise wrappers with Promise.resolve() and Promise.reject()
It is useful to have the ability to create promise objects that have already reached a final state with a defined value, and also to be able to normalize JavaScript objects into promises. Promise.resolve()
and Promise.reject()
afford you the ability to perform both these actions.
Note
The code, links, and a live example of this are available at http://ngcookbook.herokuapp.com/9315/ .
How to do it...
Like all other static Promise methods, Promise.resolve()
and Promise.reject()
return a promise object. In this case, there is no executor
definition.
If one of these methods is provided with a non-promise argument, the returned promise will assume either a fulfilled
or rejected
state (corresponding to the invoked method). This method will pass the argument to Promise.resolve()
and Promise.reject()
, along with any corresponding handlers:
Promise.resolve('foo'); // Promise {[[PromiseStatus]]: "resolved", [[PromiseValue]]: "foo...