axios相应拦截器

Posted 初辰ge

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了axios相应拦截器相关的知识,希望对你有一定的参考价值。

axios.defaults.timeout = 8000;//设置超时时间,单位毫秒
axios.defaults.retry = 3; //设置全局请求次数
axios.defaults.retryDelay = 1000;//设置全局请求间隙

// http 响应拦截器
axios.interceptors.response.use((response) => 
  return response
, error => 
  //超时处理
  var config = error.config;
  if (!config || !config.retry) return Promise.reject(error);
  // 设置用于跟踪重试次数的变量
  config.__retryCount = config.__retryCount || 0;

  // 检查我们是否已将重试总数最大化
  if (config.__retryCount >= config.retry) 
    alert('请求异常:' + error.message + '!')
    // 错误拒绝
    return Promise.reject(error);
  

  // 增加重试次数
  config.__retryCount += 1;

  // 创造新的承诺来处理指数退避
  var backoff = new Promise(function (resolve) 
    setTimeout(function () 
      resolve();
    , config.retryDelay || 1);
  );

  // 返回承诺,其中将撤回axios以重试请求
  return backoff.then(function () 
    return axios(config);
  );
)

以上是关于axios相应拦截器的主要内容,如果未能解决你的问题,请参考以下文章

使用Axios拦截器打印前端日志

使用Axios拦截器打印前端日志

使用Axios拦截器打印前端日志

5-6 使用axios拦截器打印前端日志

Vue中使用Axios拦截器(拦截请求与相应)

5-6 使用axios拦截器打印前端日志