1. 程式人生 > 其它 >對axios二次封裝

對axios二次封裝

src/api/request.js

//axios二次封裝
//XMLHttpRequest、fetch、JQ、axios
//為什麼需要進行二次封裝
//請求攔截器,響應攔截器:請求攔截器,可以在發請求之前可以處理一些業務,響應攔截器,當伺服器資料返回以後,可以處理一些事情

//對於axios進行二次封裝
import axios from 'axios';
//1.利用axios物件的方法create,去建立一個axios例項
//2.request就是axios,配置一下
//配置物件
const request = axios.create({
  //基礎路徑,發請求的時候,路徑當中會出現api
  // 如 /api/list/card
  baseURL: "/api",
  //代表請求超時5s無響應則失敗
  setTimeout:5000
})
//請求攔截器:在發請求之前,請求攔截器可以檢測到,可以在請求發出之前做一些設定,比如攜帶token
request.interceptors.request.use((config)=>{
  //config 配置物件,物件裡面有一個屬性很重要,headers請求頭
  return config
})
//響應攔截器
request.interceptors.response.use((res)=>{
  //成功的回撥函式:伺服器響應資料回來以後,響應攔截器可以檢測到,可以做一些事情
  return res.data;
},(error)=>{
  // 響應失敗的回撥函式
  return Promise.reject(new Error('faile'))
})

//對外暴露
export default axios