解决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变量作用域更轻松
Oct 25 Javascript
js 自定义的联动下拉框
Feb 07 Javascript
javascript中的onkeyup和onkeydown区别介绍
Apr 28 Javascript
Javascript的&&和||的另类用法
Jul 23 Javascript
jQuery Form 表单提交插件之formSerialize,fieldSerialize,fieldValue,resetForm,clearForm,clearFields的应用
Jan 23 Javascript
解决前端跨域问题方案汇总
Nov 20 Javascript
jQuery实现文字自动横移
Jan 08 Javascript
js仿QQ邮箱收件人选择与搜索功能
Feb 10 Javascript
js实现适配不同的屏幕大小
Apr 10 Javascript
vue中$refs的用法及作用详解
Apr 24 Javascript
超详细动手搭建一个VuePress 站点及开启PWA与自动部署的方法
Jan 27 Javascript
浅谈Vue组件单元测试究竟测试什么
Feb 05 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
php字符串截取的简单方法
2013/07/04 PHP
2个比较经典的PHP加密解密函数分享
2014/07/01 PHP
php遍历目录方法小结
2015/03/10 PHP
PHP计算指定日期所在周的开始和结束日期的方法
2015/03/24 PHP
开启PHP的伪静态模式
2015/12/31 PHP
功能强大的php分页函数
2016/07/20 PHP
PHP抽象类与接口的区别实例详解
2019/05/09 PHP
YII2框架中actions的作用与使用方法示例
2020/03/13 PHP
Jquery解析json数据详解
2013/12/26 Javascript
js/jquery获取文本框输入焦点的方法
2014/03/04 Javascript
Javascript基础教程之for循环
2015/01/18 Javascript
JavaScript中判断两个字符串是否相等的方法
2015/07/07 Javascript
JavaScript控制浏览器全屏及各种浏览器全屏模式的方法、属性和事件
2015/12/20 Javascript
jquery ezUI 双击行记录弹窗查看明细的实现方法
2016/06/01 Javascript
JavaScript简单获取页面图片原始尺寸的方法
2016/06/21 Javascript
详解webpack进阶之loader篇
2017/08/23 Javascript
EasyUI创建人员树的实例代码
2017/09/15 Javascript
将jquery.qqFace.js表情转换成微信的字符码
2017/12/01 jQuery
jQuery选择器之基本选择器用法实例分析
2019/02/19 jQuery
js中对象与对象创建方法的各种方法
2019/02/27 Javascript
React精髓!一篇全概括小结(急速)
2019/05/23 Javascript
angular8和ngrx8结合使用的步骤介绍
2019/12/01 Javascript
Vue列表如何实现滚动到指定位置样式改变效果
2020/05/09 Javascript
JQuery表单元素取值赋值方法总结
2020/05/12 jQuery
如何使用jQuery操作Cookies方法解析
2020/09/08 jQuery
Vue-cli4 配置 element-ui 按需引入操作
2020/09/11 Javascript
Python的Urllib库的基本使用教程
2015/04/30 Python
Python字典底层实现原理详解
2019/12/18 Python
Python编程快速上手——选择性拷贝操作案例分析
2020/02/28 Python
python类共享变量操作
2020/09/03 Python
python 基于opencv实现图像增强
2020/12/23 Python
Vision Directa智利眼镜网:框架眼镜、隐形眼镜和名牌太阳眼镜
2016/11/23 全球购物
民族团结演讲稿范文
2014/08/27 职场文书
奥巴马开学演讲观后感
2015/06/12 职场文书
python geopandas读取、创建shapefile文件的方法
2021/06/29 Python
Redis主从复制操作和配置详情
2022/09/23 Redis