1. Promise.resolve()实现
/**
* Promise 函数对象方法 resolve
* @param value 成功返回值
* @return 带有指定结果value的成功的 new Promise
*/
Promise.resolve = function (value) {
return new Promise((resolve, reject) => {
// value是promise
if (value instanceof Promise) {
value.then(resolve, reject);
} else {
// 如果value不是promise 则成功 数据是value
resolve(value);
}
})
}
2. Promise.reject()实现
/**
* Promise 函数对象方法 reject
* @param reason 失败返回值
* @return 带有指定返回失败的 new Promise
*/
Promise.reject = function (reason) {
return new Promise((resolve, reject) => {
reject(reason)
})
}