![](/img/trans.png)
[英]Within a fetch() Promise, how to .catch server errors messages when status is 4xx or 5xx?
[英]Catching 4xx and code errors separately with axios using then / catch syntax
我一直在閱讀Promises和then/catch
語法。
這篇文章非常全面,我以為我了解:
fetch()
.then()
.catch()
在這里, catch()
處理的錯誤會在then()
內部調用的代碼中引發。
var p = fetch()
p.then()
p.catch()
這將適當地捕捉由引發的錯誤fetch()
和處理的正確響應fetch()
內then()
為什么axios中的行為不同?
在這里,我發現的所有示例都使用第一種方法來捕獲axios()
調用引發的錯誤。 結果是
axios(/* axios stuff */)
.then(successCallback)
.catch(errorCallback)
errorCallback處理由拋出4XX錯誤axios()
,但也拋出的任何運行時錯誤successCallback
。 還是我在這里想念什么? 有沒有辦法將這兩類錯誤分開?
承諾環節就像水流一樣。 如果沒有任何處理程序,則最后一個catch
會捕獲之前拋出的所有錯誤,然后是第二個參數
如果您不希望errorCallback
處理errorCallback
引發的successCallback
,則應將errorCallback放在then的第二個參數上。
axios(/* axios stuff */)
.then(successCallback, errorCallback)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.