Javascript 使用then/catch语法使用axios分别捕获4xx和代码错误
我一直在阅读Promises和then/catch语法 非常全面,我认为我理解:Javascript 使用then/catch语法使用axios分别捕获4xx和代码错误,javascript,axios,es6-promise,Javascript,Axios,Es6 Promise,我一直在阅读Promises和then/catch语法 非常全面,我认为我理解: fetch() .then() .catch() 在这里,catch处理在调用代码时抛出的错误 这将正确地捕获fetch抛出的错误,并在其中处理fetch的正确响应 为什么axios中的行为有所不同 在这里,我发现的所有示例都使用第一个方法捕获axios调用引发的错误。结果是 axios(/* axios stuff */) .then(successCallback) .catch(errorC
fetch()
.then()
.catch()
在这里,catch处理在调用代码时抛出的错误
这将正确地捕获fetch抛出的错误,并在其中处理fetch的正确响应
为什么axios中的行为有所不同
在这里,我发现的所有示例都使用第一个方法捕获axios调用引发的错误。结果是
axios(/* axios stuff */)
.then(successCallback)
.catch(errorCallback)
errorCallback处理axios抛出的4xx错误,以及successCallback抛出的任何运行时错误。还是我在这里遗漏了什么?有没有办法区分这两类错误?承诺链接就像水流一样。如果前面的第二个参数中没有处理程序,那么最后一个catch将捕获在它之前抛出的所有错误 如果您不希望errorCallback处理successCallback抛出的错误,那么应该将errorCallback放在then的第二个参数中
axios(/* axios stuff */)
.then(successCallback, errorCallback)
谢谢,这就是我错过的!我不明白为什么这不是处理axios错误的首选方法。大多数示例使用.then和.catch。
axios(/* axios stuff */)
.then(successCallback, errorCallback)