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归还一些东西,否则没有任何意义。。