對axios二次封裝
阿新 • • 發佈:2022-05-06
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