Promise.resolve

558 阅读1分钟
Promise.resolve = function (p) {
    if (p instanceof Promise) {
        return new Promise((resolve, reject) => {
            p.then(resolve, reject)
        })
    } else {
        return new Promise((resolve) => {
            resolve(p)
        })
    }
}

var p1 = new Promise((resolve, reject) => {
    setTimeout(function () {
        reject('不ok')
    }, 1000)
})
var p3 = Promise.resolve(p1)
p3.then(function (result) {
    console.log(result)
}).catch(function (reason) {
    console.log(reason)
})