Rumah > Artikel > hujung hadapan web > ES6 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有更多方法,但是我只是想总结一下入门,再复杂的就不是我讲解的了。
Atas ialah kandungan terperinci ES6 Promise 简单介绍. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!