| import { |
| noop, |
| resolve as _resolve |
| } from '../-internal'; |
| |
| /** |
| `Promise.resolve` returns a promise that will become resolved with the |
| passed `value`. It is shorthand for the following: |
| |
| ```javascript |
| let promise = new Promise(function(resolve, reject){ |
| resolve(1); |
| }); |
| |
| promise.then(function(value){ |
| // value === 1 |
| }); |
| ``` |
| |
| Instead of writing the above, your code now simply becomes the following: |
| |
| ```javascript |
| let promise = Promise.resolve(1); |
| |
| promise.then(function(value){ |
| // value === 1 |
| }); |
| ``` |
| |
| @method resolve |
| @static |
| @param {Any} value value that the returned promise will be resolved with |
| Useful for tooling. |
| @return {Promise} a promise that will become fulfilled with the given |
| `value` |
| */ |
| export default function resolve(object) { |
| /*jshint validthis:true */ |
| let Constructor = this; |
| |
| if (object && typeof object === 'object' && object.constructor === Constructor) { |
| return object; |
| } |
| |
| let promise = new Constructor(noop); |
| _resolve(promise, object); |
| return promise; |
| } |