自定义Promise(三)-- resolve/reject

发布日期:2021-08-05 阅读量:1171

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)
        })
     }