鍍金池/ 問答/網(wǎng)絡(luò)安全  HTML/ vue中的axios如何做好錯誤日志上報?

vue中的axios如何做好錯誤日志上報?

據(jù)了解axios的攔截器不能攔截到.catch中的報錯信息,這樣的話例如.then中有undefined情況就不會攔截到,只能在.catch中獲取錯誤信息,而頁面中如果有多個axios的話每一個都catch顯得特別麻煩,有全局的catch或者其他更好的方法實現(xiàn)catch錯誤上報嗎?

回答
編輯回答
久不遇

可以通過axios.interceptors.response進(jìn)行攔截,同時可以封裝一下response結(jié)果,不拋出reject: 比如錯誤code 200-300之外的都進(jìn)行錯誤處理(上報)。

{
  code: 404,
  message: 'Not Found'
}
2017年11月21日 23:47
編輯回答
未命名

我覺得這個問題有待商榷。

接口返回錯誤為什么要上報呢?理論上說接口能返回錯誤接口能自己捕獲錯誤呀,這些日志直接交給后端處理不就行了?前端還是應(yīng)該處理和用戶相關(guān)的錯誤,即讓用戶理解錯誤,正確的進(jìn)行下一步操作。

如果真的要對全部錯誤都記錄上報的話,只能封裝一個 axios,攔截所有返回,處理完再繼續(xù)了,也不麻煩。

2017年11月8日 08:30
編輯回答
真難過
window.addEventListener('unhandledrejection', event => ···);
2017年10月8日 09:37