cjl-df

Promise 原理及实现

«««< HEAD:javascript/async.md ``` Promise.prototype.catch = function(onRejected){ return this.then(null,onRejected) }

Promise.resovle =function(value){
    return new Promise(resolve=>resolve(value))
}

Promise.reject = function(reason){
    return new Promise(reject=>reject(reason))
}

Promise.deferred = function(){
    let defer = {}
    defer.promise = new Promise((resovle,reject)=>{
        defer.resolve = resovle;
        defer.reject = reject
    })
    return defer;
}

try{
    module.exports = Promise
}catch(e){
    console.log(e)
}
```

按照掘金上的一篇文章写的

8217db4ad6c201681dbb5b7c1f205937275d9384:javascript/Promise.md