報錯現象如下:
產生原因:
在接口請求函數中使用了如下代碼語句: return Promise.reject(res)
在請求函數中針對 請求異常報錯情況下 直接將承載着錯誤信息的Promise對象給拋出,沒有通過catch捕獲錯誤,因而vue做出了警告。
//接口請求函數 async interfaceRequest({ commit }, params) { const [err, res] = await interfaceRequest() if (err) {
return Promise.reject(err) //這里直接將錯誤的promise對象返回 } commit('setRequestInfo', res.data) return res.data },
修改:
if (err) { err === 'canceled' || Message.error(err.errmsg) return //彈出錯誤提示信息,這里直接return掉 }
補:
對 Promise.reject() 情況的處理一般需要用try catch的方式捕獲異常,然后再進行錯誤的處理。