簡體   English   中英

使用then / catch語法通過axios分別捕獲4xx和代碼錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM