请求拦截器
// 添加请求拦截器
axios.interceptors.request.use(
config => {
// do......
// 在发送请求之前进行操作
if (store.state.token) {
// 判断是否存在 token, 如果存在的话, 则每个 http header 都加上 token
config.headers.Authorization = `token ${store.state.token}`
}
return config
},
error => {
// do......
// 对请求错误进行操作
return Promise.reject(error)
}
)
响应拦截器
// 添加响应拦截器
axios.interceptors.response.use(
response => {
// do......
// 对响应数据进行操作
return response.data
},
error => {
// do......
// 对响应错误进行操作
return Promise.reject(error)
}
)
error 对象
console.log(error)打印出来直接就是一串字符串,但是 typeof error 是 object,并且使用
Object.keys(error) 可以得到 [“config”, “request”, “response”, “isAxiosError”, “toJSON”]
这样就可以用这几个元素对错误进行处理