Promise使用時應注意的問題

2022-02-02 11:25:03 字數 756 閱讀 6475

最近在使用axios庫時遇到了個問題,後端介面報了500錯誤,但前端並未捕獲到。

1. 呼叫介面的業務**如下:

1

//業務**呼叫

2axios().then(res =>).catch(err =>)

很奇怪,**未按預期的結果執行。

2. 檢查下axios整體的配置

//

自己封裝的用來過濾http錯誤的方法

function

filter500(error, code, errmsg)

//axios整體配置,對響應進行攔截

axios.interceptors.response.use(data =>, error => else

if (code === '500') else

})

在axios整體配置的**中,過濾http code時,呼叫了filter401()、filter500(),但是這裡注意並未將兩個filter函式的結果返回,也就是並未返回promise,這就是導致問題出現的原因,也就是當後端介面報了500錯誤時被axios攔截了但確並未返回乙個promise,導致業務**中未捕獲此錯誤。所以記住:

**在每個promise鏈條中必須返回promise,否則呼叫結果可能和你預期不一樣。**

這篇文章最初發表在我自己折騰的部落格站點上:promise使用時應注意的問題

Promise使用時應注意的問題

最近在使用axios庫時遇到了個問題,後端介面報了500錯誤,但前端並未捕獲到。1.呼叫介面的業務 如下 1 業務 呼叫 2 axios then res catch err 很奇怪,未按預期的結果執行。2.檢查下axios整體的配置 自己封裝的用來過濾http錯誤的方法 function filt...

unity List集合的使用時要注意的問題

list 類 註解list 類是 arraylist 類的泛型等效項。使用時不強制指定長度,它通過使用大小根據需要動態增加的陣列來實現 ilist 泛型介面。您可以通過使用 add 或 addrange 方法將項新增到 list。宣告list 集合名 newlist t 屬性capacity 獲取或...

background size使用時的注意點

background size要寫在background image後面,否則background size不會生效 comment clist item code 這樣寫,background size是不生效的 必須這樣寫 comment clist item code 如果乙個後面的乙個樣式修...