Javascript 停止Axios承诺链

Javascript 停止Axios承诺链,javascript,axios,Javascript,Axios,打破这条链条的正确方法是什么?比如,如果我被抓了,我不想执行下面两个s 我以前总是把的catch放在最后,但后来把它调高了,我想这可能会有所帮助。没有 return axios .post(url, data) .catch(error => { const message = getBannerTextFailureMessage(liability, toStatus) dispatch(showBanner(message, bannerConstants.t

打破这条链条的正确方法是什么?比如,如果我被抓了,我不想执行下面两个
s

我以前总是把
的catch
放在最后,但后来把它调高了,我想这可能会有所帮助。没有

return axios
  .post(url, data)
  .catch(error => {
    const message = getBannerTextFailureMessage(liability, toStatus)
    dispatch(showBanner(message, bannerConstants.typeError))
  })
  .then(response => {
    return dispatch(updateLiabilitiesComplete())
  })
  .then(response => {
    const message = getBannerTextSuccessMessage(liability, toStatus)
    dispatch(showBanner(message, bannerConstants.typeSuccess))
  })

.catch
捕获承诺链的任何先前部分,并保留以下
。然后在
之后
s没有拒绝功能。catch
未锁定(除非有另一个
.catch
)。这意味着您的链可能在其中一个
中失败。然后,当
处于链的末尾时,
。catch
可能会在未锁定时将promise error抛出控制台(
。catch
紧跟在
。post


只需从控制台日志中删除(临时)
。catch
并找出它在哪个部分失败。

解决承诺后,
catch
用于捕获任何
中的错误,然后
块。因此,如果将
捕获
块放在
然后
之后,将捕获前一个
然后
块中可能出现的第一个错误。因此,在您使用过的地方使用catch是没有意义的,而且第一个
然后
块在解析后从promise获取返回值

在catch块中:

执行
console.log(错误)
以了解您遇到的错误


另外,要从承诺解析函数中检索值,请使用
eventlisteners
(断开链接)。

可能重复()是否有使用?Nope标记的原因。错误它现在不见了。除非你从catch归还一些东西,否则没有任何意义。。