什么是拦截器:
拦截器是 axios 向服务器端发送 请求 和 响应 回来所经历的两道关口
请求拦截器:
axios每次 开始 请求的时候先执行此处逻辑,在这个地方可以给axios做出发前的配置,也可以做出发前的检查工作,检查ok的情况下就开始想服务器端发请求
1 // 请求拦截器 2 axios.interceptors.request.use(function (config) { 3 // 放置业务逻辑代码 4 return config; 5 }, function (error) { 6 // axios发生错误的处理 7 return Promise.reject(error); 8 });
响应拦截器:
axios 完成与服务端交互回到客户端后就执行此逻辑,在这个地方可以做一些后续收尾事宜,例如 判断axios请求是否成功,或相关数据过滤操作
// 响应拦截器 axios.interceptors.response.use(function (response) { // 放置业务逻辑代码 // response是服务器端返回来的数据信息,与Promise获得数据一致 return response; }, function (error) { // axios请求服务器端发生错误的处理 return Promise.reject(error); });
拦截器细节说明:
- config 参数
- config 是一个对象 与 axios。defaults 相当(不等于)
- config 可以给 axios配置 例如baseURL的信息
- response 参数
- 服务器端返回的具体数据信息,与业务 axios 接收的数据一致
- Promise.reject()
- 语法糖的用法,返回一个 Promise 对象