vue项目中axios统一或单独控制接口请求时间

先说统一

这里将请求时间统一控制在12秒

javascript 复制代码
// 使用由库提供的配置的默认值来创建实例
// 此时超时配置的默认值是 `0`
const axiosInstance = axios.create()

// 覆写库的超时默认值
// 现在,在超时前,所有请求时间统一控制在10秒
axiosInstance.defaults.timeout = 1000 * 10

单独控制

上传文件的时候,文件一旦大一些,就会超过设置的时间,出现接口连接超时的问题,所以我们需要单独为上传接口设置一个请求超时时间

在instance.interceptors.request.use() 下的config中 添加上一个判断后请求时间赋值即可

javascript 复制代码
axiosInstance.interceptors.request.use(
  config => {
    config.headers.common['Authorization'] = localStorage.getItem('token')
    if(config.url.indexOf('upload/file') > -1){ 
      config.timeout = 1000 * 1800
    }
    return config
  },
  err => {
    console.log(err) // for debug
    return Promise.reject(err)
  }
)

以上就可以满足使用默认上传时单独配置请求时间


补充(非上传接口等写法):

javascript 复制代码
// 统一配置默认超时时间:
const axiosInstance = axios.create();//创建实例
let Config = {
	TIMEOUT: 6000,//设置超时时间为6秒
};
axiosInstance .defaults.timeout = Config.TIMEOUT;

// 默认请求时间接口请求:
export function newTaskAdd(data) {
  return request({
    url: '/api/taskPlan/add',
    method: 'post',
    data
  })
}

// 重设超时时间的接口请求:
export function newTaskAdd(data) {
  return request({
    url: '/api/taskPlan/add',
    method: 'post',
    timeout: 60 * 60 * 1000,
    data
  })
}
相关推荐
打小就很皮...10 分钟前
ShowCountCard 功能迭代:新增周月对比属性,完善数据可视化场景
前端·react.js·信息可视化
JAVA学习通15 分钟前
OJ竞赛平台----C端题目列表
java·开发语言·jvm·vue.js·elasticsearch
IT_陈寒19 分钟前
Redis性能翻倍的7个冷门技巧:从P5到P8都在偷偷用的优化策略!
前端·人工智能·后端
Moonbit30 分钟前
MoonBit Meetup 丨 手把手带你走进 AI 编程新世代
前端·后端·程序员
携欢31 分钟前
PortSwigger靶场之 CSRF where token is not tied to user session通关秘籍
前端·csrf
执剑、天涯1 小时前
通过一个typescript的小游戏,使用单元测试实战(二)
javascript·typescript·单元测试
麦麦大数据1 小时前
F025 基于知识图谱图书可视推荐系统 vue+flask+neo4j | python编写、知识图谱可视化+推荐系统
vue.js·python·知识图谱·推荐算法·协同过滤·图书推荐
HHHHHY1 小时前
使用阿里lowcode,手搓一个Carousel 走马灯容器组件
前端·react.js
用户352120195601 小时前
React-router v7
前端
Mintopia1 小时前
⚡ AI 时代,全栈 Next.js 开发的激情在哪里?
前端·aigc·全栈