解决vue中axios设置超时(超过5分钟)没反应的问题


Posted in Javascript onSeptember 04, 2020

(chrome环境)在做项目的时候,由于做大数据可视化界面,后台接口查询数据往往会比较久(上百万的数据量),导致vue项目axios请求超时timeout设置就比较大。开始设置超时未3分钟时没有问题(这里我设置超时弹窗了),可设置超时未6分钟时,却在五分钟左右弹出请求超时,但明明设置tiemout=6x60x1000。

于是通过资料查询,了解到Chrome浏览器,默认请求超时为五分钟,所以导致上诉现象产生,可如何在vue中修改浏览器超时?

直接上代码:

我们可以在config文件中index.js,配置timeout即可,这里是vue2环境(vu3相同)

proxyTable: {
    '/searchPerson': {
      target: '接口代理地址',
      timeout: 6*60*1000, //设置超时
      changeOrigin: true
     },
     '/taskResult': {
      target: ' 接口代理地址',
      timeout: 6*60*1000,  //设置超时
      changeOrigin: true
     }
     
  },

在index.js配置超时时间后,记得重启服务,不然会没反应

补充知识:Vue项目请求时间过长导致断开连接的问题

对于laravel,已经无力吐槽,不能支持多线程是个永远的痛,如果这个问题在java中,直接另辟一个线程就可以搞定,分分钟就可以返回数据!

问题:上传视频至阿里云oss,大文件莫名的会上传两次,而且前端每次大约在4.1min的时候断开连接

思路:因为在阿里云的控制台可以看到同一个视频被上传了两次,猜测是前端框架或者后端框架做了一次链接retry

解决方案:

1.后端框架(laravel)验证:

public function testTimeOut(){
 
    sleep(400);
    return 'sleep await';  
}

解决vue中axios设置超时(超过5分钟)没反应的问题

可以看出后台在400s之后可以返回数据,基本可以排除是后台laravel框架的问题

2.前端框架(Vue)验证

解决vue中axios设置超时(超过5分钟)没反应的问题

原先配置文件默认超时时长为2min(这里也是猜测)

然后开始上传视频,控制台发送upload请求,刷新阿里云控制台会看到文件正在上传,奇妙的事情发生了控制报错net err_empty_response,然后在刷新阿里云控制台会发现刚才上传的视频已经完成,但是还有同样的一个视频正在上传,所以猜测在前端没有得到response后,又尝试了请求了一次,导致视频会被上传两次!所以可以断定问题出在前端框架上。

经过一顿的测试和研究发现,

解决vue中axios设置超时(超过5分钟)没反应的问题

这里设置timeout后可以有效的解决刚才的问题!

以上这篇解决vue中axios设置超时(超过5分钟)没反应的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript的对话框详解与参数
Mar 08 Javascript
需要做特殊处理的DOM元素属性的访问
Nov 05 Javascript
jQuery链式操作如何实现以及为什么要用链式操作
Jan 17 Javascript
jquery 实现两级导航菜单附效果图
Mar 07 Javascript
Node.js 的异步 IO 性能探讨
Oct 08 Javascript
在JS方法中返回多个值的方法汇总
May 20 Javascript
js实现发送验证码后的倒计时功能
May 28 Javascript
JavaScript数组方法大全(推荐)
Jul 05 Javascript
vue.js 使用v-if v-else发现没有执行解决办法
May 15 Javascript
Vue.js进行查询操作的实例详解
Aug 25 Javascript
vue + typescript + 极验登录验证的实现方法
Jun 27 Javascript
使用JavaScript计算前一天和后一天的思路详解
Dec 20 Javascript
在vue中axios设置timeout超时的操作
Sep 04 #Javascript
vue 路由meta 设置导航隐藏与显示功能的示例代码
Sep 04 #Javascript
JavaScript中的执行环境和作用域链
Sep 04 #Javascript
Vue 禁用浏览器的前进后退操作
Sep 04 #Javascript
详解JavaScript数据类型和判断方法
Sep 04 #Javascript
vue将data恢复到初始状态 && 重新渲染组件实例
Sep 04 #Javascript
详解JavaScript中new操作符的解析和实现
Sep 04 #Javascript
You might like
类的另类用法--数据的封装
2006/10/09 PHP
二十行语句实现从Excel到mysql的转化
2006/10/09 PHP
PHP如何编写易读的代码
2007/07/10 PHP
Codeigniter通过SimpleXML将xml转换成对象的方法
2015/03/19 PHP
Laravel中Trait的用法实例详解
2016/03/16 PHP
非常有用的9个PHP代码片段
2016/04/06 PHP
基于php实现的验证码小程序
2016/12/13 PHP
从零开始学习jQuery (三) 管理jQuery包装集
2011/02/23 Javascript
通过jQuery源码学习javascript(一)
2012/12/27 Javascript
jquery实现弹出层遮罩效果的简单实例
2014/03/03 Javascript
单元选择合并变色示例代码
2014/05/26 Javascript
jQuery中slideUp()方法用法分析
2014/12/24 Javascript
JavaScript基于setTimeout实现计数的方法
2015/05/08 Javascript
BootStrap 可编辑表Table格
2016/11/24 Javascript
jQuery通过改变input的type属性实现密码显示隐藏切换功能
2017/02/08 Javascript
jquery插件ContextMenu设置右键菜单
2017/03/13 Javascript
iscroll动态加载数据完美解决方法
2017/07/18 Javascript
Vee-Validate的使用方法详解
2017/09/22 Javascript
微信小程序倒计时功能实现代码
2017/11/09 Javascript
对vue中methods互相调用的方法详解
2018/08/30 Javascript
vue 实现LED数字时钟效果(开箱即用)
2019/12/08 Javascript
django自定义Field实现一个字段存储以逗号分隔的字符串
2014/04/27 Python
Python修改MP3文件的方法
2015/06/15 Python
django框架事务处理小结【ORM 事务及raw sql,customize sql 事务处理】
2019/06/27 Python
使用NumPy读取MNIST数据的实现代码示例
2019/11/20 Python
Python限制内存和CPU使用量的方法(Unix系统适用)
2020/08/04 Python
python 实现倒计时功能(gui界面)
2020/11/11 Python
通过python-pptx模块操作ppt文件的方法
2020/12/26 Python
基于Pytorch版yolov5的滑块验证码破解思路详解
2021/02/25 Python
MATCHESFASHION.COM法国官网:英国奢侈品零售商
2018/01/04 全球购物
加拿大最大的体育用品、鞋类和服装零售商:Sport Chek
2018/11/29 全球购物
strlen的几种不同实现方法
2013/05/31 面试题
保护环境建议书
2014/03/12 职场文书
质量月口号
2014/06/20 职场文书
Python实现排序方法常见的四种
2021/07/15 Python
Elasticsearch 数据类型及管理
2022/04/19 Python