ES6 Promise

更新日期: 2020-05-10 阅读次数: 2092 字数: 230 分类: Javascript

promise 的意义

解决了之前不断嵌套异步回调的问题。

可以以同步的语法,来执行异步的操作。

参数 resolve 与 reject 是用来做什么的

以封装微信小程序的 wx.request 来统一处理错误码为例。

promise 对象必须使用 resolve 和 reject 做为返回么

then 必须使用两个回调函数作为参数么?

我看还有使用一个参数的情况。

原来,第二个参数是可选的,即不处理 reject 的情况。

then 的 catch 与第二个回调函数同时存在时会用哪个

  • then的第二个参数和catch方法都存在的情况下,只有then的第二个参数能捕获到;
  • 如果then的第二个参数不存在,则catch方法会捕获到。
promise.then(res => {
    //
}, err => {
    console.log(err);
}).catch(err1 => {
    console.log(err1);
});

哪个更好一些,我觉得用 catch 来处理更合适

  • 代码可读性更高一些
  • 逻辑越简单越好

参考

  • https://es6.ruanyifeng.com/#docs/promise#Promise-race
  • http://www.kancloud.cn:8080/xiaoyulive/wechat/526990

关于作者 🌱

我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式