解决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 相关文章推荐
js 操作符实例代码
Oct 24 Javascript
jQuery EasyUI 中文API Button使用实例
Apr 14 Javascript
jquery使用slideDown实现模块缓慢拉出效果的方法
Mar 27 Javascript
基于javascript实现listbox左右移动
Jan 29 Javascript
使用jQuery加载html页面到指定的div实现方法
Jul 13 Javascript
基于javascript实现按圆形排列DIV元素(二)
Dec 02 Javascript
JS实现禁止高频率连续点击的方法【基于ES6语法】
Apr 25 Javascript
微信小程序表单弹窗实例
Jul 19 Javascript
详解Vue CLI3配置之filenameHashing使用和源码设计使用和源码设计
Aug 31 Javascript
Vue中常用rules校验规则(实例代码)
Nov 14 Javascript
jQuery实现轮播图效果demo
Jan 11 jQuery
vue + el-form 实现的多层循环表单验证
Nov 25 Vue.js
在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
对squid中refresh_pattern的一些理解和建议
2009/04/17 PHP
用PHP将数据导入到Foxmail的实现代码
2010/09/05 PHP
php实现两个数组相加的方法
2015/02/17 PHP
PHP的Yii框架入门使用教程
2016/02/15 PHP
php实现mysql连接池效果实现代码
2018/01/25 PHP
PHP进阶学习之依赖注入与Ioc容器详解
2019/06/19 PHP
JS中剪贴板兼容性、判断复制成功或失败
2021/03/09 Javascript
jquery复选框CHECKBOX全选、反选
2008/08/30 Javascript
javascript基础之查找元素的详细介绍(访问节点)
2013/07/05 Javascript
jquery 滚动条事件简单实例
2013/07/12 Javascript
jquery获取对象的方法足以应付常见的各种类型的对象
2014/05/14 Javascript
Bootstrap表单布局
2016/07/19 Javascript
jquery 实现复选框的全选操作实例代码
2017/01/24 Javascript
JS中如何实现Laravel的route函数详解
2017/02/12 Javascript
基于zTree树形菜单的使用实例
2017/12/25 Javascript
node.js利用socket.io实现多人在线匹配联机五子棋
2018/05/31 Javascript
Phaser.js实现简单的跑酷游戏附源码下载
2018/10/26 Javascript
前端插件之Bootstrap Dual Listbox使用教程
2019/07/23 Javascript
vue 使用插槽分发内容操作示例【单个插槽、具名插槽、作用域插槽】
2020/03/06 Javascript
vue实现五子棋游戏
2020/05/28 Javascript
vue 子组件修改data或调用操作
2020/08/07 Javascript
vue 使用 sortable 实现 el-table 拖拽排序功能
2020/12/26 Vue.js
[50:27]OG vs LGD 2018国际邀请赛淘汰赛BO3 第一场 8.26
2018/08/30 DOTA
Python 文件重命名工具代码
2009/07/26 Python
python基础教程之常用运算符
2014/08/29 Python
python批量下载抖音视频
2019/06/17 Python
Django values()和value_list()的使用
2020/03/31 Python
pandas apply多线程实现代码
2020/08/17 Python
HTML5 Web Workers之网站也能多线程的实现
2013/04/24 HTML / CSS
创联软件面试题笔试题
2012/10/07 面试题
财产公证书样本
2014/04/04 职场文书
小学教师师德承诺书
2014/05/23 职场文书
电子商务系毕业生自荐信
2014/05/29 职场文书
法人授权委托书范本
2014/09/17 职场文书
2015年乡镇卫生院妇幼保健工作总结
2015/05/19 职场文书
vue使用refs获取嵌套组件中的值过程
2022/03/31 Vue.js