ES6 Promise 简单介绍

一个新手
一个新手 原创
2017-09-21 09:24:24 965浏览

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有更多方法,但是我只是想总结一下入门,再复杂的就不是我讲解的了。

以上就是ES6 Promise 简单介绍的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。