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

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参数

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容