ES6的Promise

image

传统的异步嵌套,会产生回调地域,最终使得代码块混乱

ES6的Promise

image

new Promise() 传入一个Fn()参数

函数有两个参数 resolve,reject 函数内部放置需要进行异步操作的代码

成功时执行resolve ,失败执行reject 。

可以传入唯一参数resolve(data),然后通过 .then((data) => {}) 函数获取异步操作后的结果数据。

可以传入唯一参数reject (error),然后通过.catch((error) => {}) 函数用来获取错误信息。

image

上述代码用来解决回调地狱

注意:.then函数中的return 并不是单纯return一个值,这里实际是return 了一个Promise实例对象,而data作为参数传入了resolve中。可以在.then函数后面再跟一个.then来获取返回的Promise实例对象中的传值data。同理应用于throw

image

Promise的all方法可以获取两个异步操作的结果放进一个数组中,然后通过.then来处理最后返回的数组  (这与axios.all方法相似)

posted @ 2019-10-05 11:56  阴阳师先生  阅读(163)  评论(0)    收藏  举报