vue.jsVue专题前端开发那些事儿

Vue方向:axios全局拦截器以及配置的优先级

2021-02-28  本文已影响0人  听书先生

1、axios全局拦截器

axios在每一个请求配置中都有一个配置项用于拦截请求或响应结果

这个拦截只能拦截当前配置的请求,如果我们希望拦截所有的请求,就需要使用全局拦截器

全局拦截器是会拦截所有的请求或响应

2、拦截器

拦截器的定义:就是在请求或响应被then或catch处理前拦截它们

3、图解

图示

4、代码示例

4.1  请求拦截器

代码 打印结果

4.2  响应拦截器

代码

5、axios配置的优先级

针对axios的配置,共分为以下四种:

1.  默认配置,如默认的get请求

2.  全局配置,如全局定义的baseURL: 

axios.default.baseURL = "https://jsonplaceholder.typicode.com"

3.  实例配置,

const instance = axios.create({   

      baseURL: 'https://jsonplaceholder.typicode.com' 

});

4.  发送请求配置:

axios({   

     url: '/posts',

}).then(res => {

     console.log(res);

})

这些配置的优先级为:

配置以一个优先顺序进行合并,这个顺序是:

1.   在lib.default.js找到的库的默认值

2.   然后是全局的defaults配置

3.   然后是实例的defaults属性

4.   最后是请求的config参数

上一篇 下一篇

猜你喜欢

热点阅读