什么是攔截器:
攔截器是 axios 向服務器端發送 請求 和 響應 回來所經歷的兩道關口
請求攔截器:
axios每次 開始 請求的時候先執行此處邏輯,在這個地方可以給axios做出發前的配置,也可以做出發前的檢查工作,檢查ok的情況下就開始想服務器端發請求
1 // 請求攔截器 2 axios.interceptors.request.use(function (config) { 3 // 放置業務邏輯代碼 4 return config; 5 }, function (error) { 6 // axios發生錯誤的處理 7 return Promise.reject(error); 8 });
響應攔截器:
axios 完成與服務端交互回到客戶端后就執行此邏輯,在這個地方可以做一些后續收尾事宜,例如 判斷axios請求是否成功,或相關數據過濾操作
// 響應攔截器 axios.interceptors.response.use(function (response) { // 放置業務邏輯代碼 // response是服務器端返回來的數據信息,與Promise獲得數據一致 return response; }, function (error) { // axios請求服務器端發生錯誤的處理 return Promise.reject(error); });
攔截器細節說明:
- config 參數
- config 是一個對象 與 axios。defaults 相當(不等於)
- config 可以給 axios配置 例如baseURL的信息
- response 參數
- 服務器端返回的具體數據信息,與業務 axios 接收的數據一致
- Promise.reject()
- 語法糖的用法,返回一個 Promise 對象