Axios-拦截器
axios.js
在项目src文件夹下建立axios.js文件
和路由守卫,filter都有一些相似
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| import axios from "axios"
const instance = axios.create({ baseURL: "https://api.uomg.com", timeout: 10000 })
instance.interceptors.request.use( function (config) { console.log("请求拦截器") config.headers.Accept = "application/json" return config }, function (error) { console.log("请求拦截器异常方法:" + error) return Promise.reject(error) } )
instance.interceptors.response.use( function (response) { console.log(response) return response }, function (error) { console.log(error) return Promise.reject(error) } )
export default instance
|
App.vue
1
| import request from "./axios.js";
|
导入axios时,导入我们在axios.js中暴露出的对象,不从框架中直接导入
在处理异步请求的响应时,对promise对象通常是调用await来解析数据,不考虑请求响应失败的问题
我们可以在请求/响应拦截器中来打印异常