promise即走then又走catch的原因

1. then中有错误,Promise会自动捕获内部异常,并交给rejected响应函数处理。

this.getData().then(res => {
  const a = null
  console.log(a.b) // 明显的错误会走到下面的catch
}).catch(err => {
  console.log('catch err')
})

2. catch后面又写then

vue中一般api请求放在actions中
action.js:

        getData({ commit }, params = {}) {
            return Api.getData(params).then((res) => {
                return res
            }).catch(err => {
                // 如果接口出错走了catch
            })
        },

index.vue:

init() {
  this.getData().then(res => {
// 如果上面走了catch,这边的then也会执行
    console.log('then again')
  })
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容