###promise原理系列目录:

promise实现原理(一)promise.then

promise实现原理(二)promise.catch

promise实现原理(三)promise.finally

promise实现原理(四)promise.all与promise.race

promise实现原理(五)promise.allSettled与promise.any

promise实现原理(六)promise.resolve与promise.reject

promise实现最终版!合成代码

还缺失的内容↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

1
2
3
4
5
6
7
8
9
10
//标准提到,一个promise只有三种状态:pending(进行中)、fulfilled(已成功)和rejected(已失败)//已完成
Promise.prototype.then(); //已完成
Promise.prototype.catch(); //已完成
Promise.prototype.finally(); //已完成
Promise.all(); //已完成
Promise.race(); //已完成
Promise.allSettled();//已完成
Promise.any();//已完成
Promise.resolve();
Promise.reject();

#Promise.resolve()

据官方文档所知:
有时需要将现有对象转为 Promise 对象,Promise.resolve()方法就起到这个作用。

只需要为Promise对象注入一个方法,返回已完成状态的promise即可

1
2
3
4
5
6
7
8
9
10
11
12
myPromise.resolve = function(data){
return new myPromise((resolve)=>{//return一个fulfilled状态的primise
resolve(data)
})

}

myPromise.reject = function(data){
return new myPromise((resolve,reject)=>{//return一个reject状态的primise
reject(data)
})
}

便完成了这个功能