ES6 Promise 小白入门有感

来源:互联网 发布:美国历史书籍推荐知乎 编辑:程序博客网 时间:2024/05/17 08:29
            promise,工作了一段时间,比较忙,(当然了,主要也是我懒),但是这个promise是我一直想总结一下的,今晚有机会写写,

ES6,为了解决回调地狱的问题,推出了Promise,字面意思上来看是一个承诺,好多介绍promise的文章都是那种让人一看就眼晕的,我也是迷茫了好久,今天从我自身来说一说,promise到底是个什么东西
Promise是一个对象(好多人要说,你这不是废话吗,js万物皆对象啊)你说得对。。。
promise是一个对象,在对象内部进行调用;最常见的写法:

function GetPromise(someting){    let p = new Promise(resolve,reject)            //dosometing            resolve(str);            reject(str)        }    return p    }

这是最常见的创建使用promise的方式,其调用方法为

GetPromise(somgting).then(function(){}).catch(function(){})

偷了个懒,很多人这个时候要骂娘了,这个then是什么,catch又是什么,还有resolve是哪来的,reject又是哪来的,我刚接触的时候,也在想这个问题,上网一搜就没有好好告诉我的。现在我用最简单的方法来解释一下,then是成功回调,catch是异常回调,这样大家能不能明白。大家写代码肯定会有用到判断的时候比如

    if(a=1){        alert('我好帅啊‘)    }else{        alert('我怎么这么帅’)    }

通过判断a来决定触发哪一条语句,promise只不过是这种高级写法,其内部提供的resolve,绑定为是then,reject绑定catch,我们在实例化promise对象时,在其内部进行判断,在何时触发哪一回调,在实际使用时,通过then,catch绑定具体的回调。我们在使用promise来进行异步操作时,将所有的成功回调都抽象成resolve,失败回调抽象成reject,在实际调用通过then,catch’来绑定具体的回调函数,更优雅,也更抽象,当然Promise有更多方法,但是我只是想总结一下入门,再复杂的就不是我讲解的了。睡觉。。

原创粉丝点击