axios中的响应拦截器
时间: 2023-07-21 20:43:39 浏览: 93
在axios中,响应拦截器是用来对请求响应进行处理的拦截器,其作用是在请求响应返回到then或catch之前,对响应数据进行处理和统一处理错误的操作。
响应拦截器可以通过axios.interceptors.response.use方法进行设置,该方法接收两个函数作为参数,第一个函数是响应成功时的回调函数,第二个函数是响应错误时的回调函数。这两个函数都接收一个参数,即响应对象,可以通过对响应对象进行处理来实现对响应的统一处理。
响应拦截器的使用场景比较广泛,例如可以在响应拦截器中对错误进行统一处理,例如:
```javascript
axios.interceptors.response.use(
response => {
// 对响应数据进行处理
return response
},
error => {
// 对错误进行处理
if (error.response) {
switch (error.response.status) {
case 401:
// 未登录,跳转到登录页
break
case 403:
// 没有权限,跳转到403页面
break
case 404:
// 页面不存在,跳转到404页面
break
case 500:
// 服务器错误,跳转到500页面
break
}
}
return Promise.reject(error)
}
)
```
在以上代码中,我们通过axios.interceptors.response.use方法设置了一个响应拦截器,当响应成功时,会对响应数据进行处理并返回响应数据。当响应错误时,会对错误进行处理并根据不同的错误状态码进行跳转。最后通过返回Promise.reject(error)来终止请求链,避免错误继续向下传递。
阅读全文