zoukankan      html  css  js  c++  java
  • axios 重新发起上次请求

    axios 重新发起请求,一般用于重新发起请求

    1.切换域名重试:

      const response = error.response
      const config = response.config
      config.baseURL = api_2
      console.log('err', error)
      return new Promise((resolve, reject) =>
        setTimeout(() => {
          try {
            resolve(axios(config))
          } catch (err) {
            reject(err)
          }
        }, 1 * 1000))

     2.重试次数控制:

    //响应拦截器
    axios.interceptors.response.use((response) => {
      const res = response.data
      if (res.code == 10000) {
        return res.data
        //return Promise.resolve(res.data)
      } else {
        console.warn(res.msg);
        return Promise.reject(res)
      }
    }, (error) => {
      const response = error.response
      const config = response.config
      const code = response.status.toString().substr(0, 1)
      if (code == "4" && api_count > 0) {
        api_count--
      } else {
        if (config.baseURL == api_2) {
          return
        }
        config.baseURL = api_2
      }
      const $throw=Vue.prototype.$throw
      $throw(error)
      return new Promise((resolve, reject) =>
        setTimeout(() => {
          try {
            resolve(axios(config))
          } catch (err) {
            reject(err)
          }
        }, 1 * 1000))
    })
    为了明天能幸福,今天付出再多也不后悔。
  • 相关阅读:
    Msql-51CTO笔记
    Elasticsearch 学习第一天
    大数据开发参考资料
    1.docker的安装
    java_根据实体字段中的中文汉字排序
    遍历set集合,进行数据的拼接
    关于integer 和int
    03.linux环境安装mysql8的安装包
    02.linux下面安装jdk8
    01.VMware15.5下安装Centos7
  • 原文地址:https://www.cnblogs.com/zlp520/p/15134233.html
Copyright © 2011-2022 走看看