es6的promise

一般情况下,在发送请求后,用返回的数据来进行接下来的处理。就需要嵌套一层或者嵌套多层。但是es6的promise可以解决这个看起来繁琐的问题。使用方法如下:

new Promise(function(resolve,reject){

//这里写执行的各种语句

if(成功){

    resolve(这里可以传参)

}else{

    reject(这里可以传参)

}

}).then(function(value){

console.log(value)},function(value){

console.log(value)

})

promise内部有三个状态:pending,fulfilled,rejected。从pending状态可以变为其余两种状态。

promise可以链式调用,但调用then方法后返回的是新的promise对象,传递的时候默认是执行resolve方法。但是如果:

第一个对象的状态是rejected,第二个的reject方法是undefined,就会把rejected状态传递到下一个then。

catch方法:catch(onReject)等价于then(undefined,onReject)但是catch可用来在很多then方法之后添加一个catch方法,统一处理前面的reject或者抛出的异常(throw new Error('错啦'))


猜你喜欢

转载自blog.csdn.net/qq_37344190/article/details/79990784