You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.2 KiB
54 lines
1.2 KiB
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
|
|
import Promise from 'rsvp';
|
|
|
|
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
|
|
import Promise from 'rsvp';
|
|
|
|
let promise = RSVP.Promise.resolve(1);
|
|
|
|
promise.then(function(value){
|
|
// value === 1
|
|
});
|
|
```
|
|
|
|
@method resolve
|
|
@for Promise
|
|
@static
|
|
@param {*} object value that the returned promise will be resolved with
|
|
@param {String} [label] optional string for identifying the returned promise.
|
|
Useful for tooling.
|
|
@return {Promise} a promise that will become fulfilled with the given
|
|
`value`
|
|
*/
|
|
export default function resolve(object, label) {
|
|
/*jshint validthis:true */
|
|
let Constructor = this;
|
|
|
|
if (object && typeof object === 'object' && object.constructor === Constructor) {
|
|
return object;
|
|
}
|
|
|
|
let promise = new Constructor(noop, label);
|
|
_resolve(promise, object);
|
|
return promise;
|
|
}
|
|
|