const request = axios.create(
baseURL: 'http://localhost:8080',
timeout: 1000, //超时时间,单位:ms
headers: {
token: '234453535345'
}
)
//请求拦截器:在发送请求之前执行
request.interceptors.request.use(
config => {
console.log('请求拦截器')
console.log('config',config)
return config
},
error => {
return Promise.reject(error)
},
)
//响应拦截器:在接收响应后,做一些处理,再返回给前端
request.interceptors.response.use(
response => {
console.log('后置处理器')
console.log('response',response) return response
},
error => {
return Promise.reject(error)
},
)
request.get('/user/list')
.then(data => {
console.log("获取数据:",data.data)
})
.catch(error => {
console.log('获取数据失败')
return Promise.reject(error)
})
在开发的时候调用后台前需要做一些事情可以在前置拦截器内做,例如把token放header里;
在后台返回的数据有可能需要调用下某个对象后才能获取到数据,可以在后置拦截器内处理。
反正它们的执行时机是这样,根据你的需求可以做响应处理的。