使用 axios 全局拦截器时,如何为特定请求单独设置响应拦截机制?

使用 axios 全局拦截器时,如何为特定请求单独设置响应拦截机制?

使用全局拦截时的某个请求单独响应拦截

在使用 axios 全局拦截器的同时,可能需要为某个特定请求单独设置响应拦截机制。例如,默认情况下,响应异常时会弹出异常提示,但对于某些接口,我们不希望直接抛出异常。

为了解决这一问题,我们可以添加一个自定义参数,表示是否显示异常提示。

具体步骤如下:

  1. 在发送请求时,配置自定义参数。例如:
const login = (data) => {
 return request.post('/login', data, { showerrortips: true })
}
  1. 在响应拦截器中处理是否显示提示:
service.interceptors.response.use(
 (response) => {
     const { config } = response;
     if (config.showErrorTips) {
         // 给出提示
     }
 },
 (error) => {
     // 省略其他
 }
)

可以通过 config.showerrortips 参数判断是否显示提示。

  1. 默认情况下,所有请求都显示提示,可以通过将特定请求的参数配置为 false 来禁用提示。

以上就是使用 axios 全局拦截器时,如何为特定请求单独设置响应拦截机制?的详细内容,更多请关注其它相关文章!