美文网首页
promise即走then又走catch的原因

promise即走then又走catch的原因

作者: noyanse | 来源:发表于2020-11-09 10:25 被阅读0次

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')
  })
}

相关文章

网友评论

      本文标题:promise即走then又走catch的原因

      本文链接:https://www.haomeiwen.com/subject/nqhlbktx.html