欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

axios配置,进行全局配置,优先顺序,拦截器

程序员文章站 2022-03-15 10:14:15
全局axios默认值axios.defaults.baseURL = 'https: //api.example.com ’ ;axios.defaults.headers.common [ ‘Authorization’ ] = AUTH_TOKEN;axios.defaults.headers.post [ ‘Content-Type’ ] = ‘application / x-www-form-urlencoded’ ;自定义实例默认值//创建实例时设置默认设置const instance...

全局axios默认值

axios.defaults.baseURL = 'https: //api.example.com ’ ;
axios.defaults.headers.common [ ‘Authorization’ ] = AUTH_TOKEN;
axios.defaults.headers.post [ ‘Content-Type’ ] = ‘application / x-www-form-urlencoded’ ;
自定义实例默认值
//创建实例时设置默认设置
const instance = axios.create({
baseURL:'https ????/api.example.com ’
});

//创建实例后更改默认值
instance.defaults.headers.common [ ‘Authorization’ ] = AUTH_TOKEN;

配置优先顺序

Config将以优先顺序合并。顺序是在lib / defaults.js中找到的库默认值,然后defaults是实例的属性,最后config是请求的参数。后者将优先于前者。这是一个例子。

//使用库提供的配置默认值创建一个实例
//此时,超时配置值为0,这与库的默认值
const instance = axios.create();相同。

//覆盖默认的库超时
//现在,使用该实例的所有请求将等待2.5秒,然后才使instance.defaults.timeout = 2500超时;

//覆盖此请求的超时,因为它花了很长时间
instance.get(’/ longRequest’,{
timeout:5000
});

拦截器

您可以先拦截请求或响应,然后再由then或处理catch。

//添加请求拦截器
axios.interceptors.request.use(function(config) { //在发送请求之前做一些事情return config; },function(error) { //做一些有请求错误的事情return Promise .reject(error ); });

//添加响应拦截器
axios.interceptors.response.use(function(response) { //使用响应数据返回响应; },function(error) { //使用响应错误返回Promise .reject(error) ; });

如果以后可能需要删除拦截器,则可以。

const myInterceptor = axios.interceptors.request.use(函数() {//});
axios.interceptors.request.eject(myInterceptor);
您可以将拦截器添加到axios的自定义实例中。

const instance = axios.create();
instance.interceptors.request.use(函数() {//});

本文地址:https://blog.csdn.net/qq_42264793/article/details/110120930