333
schangxiang@126.com
2025-09-19 18966e02fb573c7e2bb0c6426ed792b38b910940
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
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;
}