其实就是你是想拦截住咱们的这个请求的过程,好比你想在请求前先作一些事,拦截下请求,等这件事作完在去请求,或者是要等请求结束作一些事,再返回数据,能够拦截处理以后再返回,其过程大白话一些解释就是如此,本人最怕听一些很高深的概念性解释,这里输出就不说那么多专业的术语!javascript
axios.interceptors()
// instance实例拦截请求
instance.interceptors.request.use(
config => {
console.log(config);
// 拦截后在这里处理信息
return config;
}, err => {
console.log(err);
})
复制代码
使用场景:java
好比咱们这里拦截响应后只返回了一个data数据,其余数据就被过滤掉了,那么最后请求得到的响应数据就只有data数据了!ios
// 拦截响应
instance.interceptors.response.use(
res => {
console.log(res)
return res.data
}, err => {
console.log(err)
}
)
复制代码
axios完整的封装实例:axios
只须要将这条保存到一个request.js文件中,在其余地方调用这个文件便可请求接口数据api
import axios from 'axios'
// 这里使用default导出,是为了之后的扩展,能够导出多个方法
export function request(config){
// 1. 建立axios实例
const instance = axios.create({
baseURL: 'https://store.crmeb.net/api/pc',
timeout: 5000
})
// 拦截请求
instance.interceptors.request.use(
config => {
console.log(config);
return config;
}, err => {
console.log(err);
})
// 拦截响应
instance.interceptors.response.use(
res => {
console.log(res)
return res.data
}, err => {
console.log(err)
}
)
// 发送请求
return instance(config)
}
复制代码
使用方法服务器
import { request } from "./network/request"
request({
url: '/get_company_info',
}).then(res => {
console.log(res)
}).catch(err => {
console.log(err)
})
复制代码