攔截器

在請求或回應被 thencatch 處理之前,你可以提前攔截它。

// 新增一個請求攔截器
axios.interceptors.request.use(function (config) {
    // 在請求實際發出前,做些什麼
    return config;
  }, function (error) {
    // 發生請求錯誤時,做些什麼
    return Promise.reject(error);
  });

// 新增一個回應攔截器
axios.interceptors.response.use(function (response) {
    // 任何 2xx 的 HTTP 狀態碼,將會觸發此函數
    // 針對回應資料,做些什麼
    return response;
  }, function (error) {
    // 任何 2xx 之外的 HTTP 狀態碼,都會觸發此函數
    // 針對回應錯誤,做些什麼
    return Promise.reject(error);
  });

若想要移除攔截器可以這麼做。

const myInterceptor = axios.interceptors.request.use(function () {/*...*/});
axios.interceptors.request.eject(myInterceptor);

也可以將攔截器新增至客製的 axios 實體。

const instance = axios.create();
instance.interceptors.request.use(function () {/*...*/});