axios 配置
axios拦截器:
import axios from "axios"
//请求拦截器
var symbol
axios.interceptors.request.use((config)=>{
if(typeof symbol==='function'){ //取消未完成请求
symbol('取消请求')
}
config.cancelToken=new axios.CancelToken((a)=>{ //从新创建请求a
symbol=a
})
return config
},error=>{
return Promise.reject(error)
})
//响应拦截器
axios.interceptors.response.use(
response=>{
symbol=null //将请求置空
return response //返回响应结果
},
error=>{
if(axios.isCancel(error)){ //传递取消错误
return new Promise(()=>{}) //中断Promise连接
}else{ //请求出错
symbol=null
return Promise.reject(error) //将错误传递下去 throw error
}
}
)
export default axios
浙公网安备 33010602011771号