解决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 相关文章推荐
struts2 jquery 打造无限层次的树
Oct 23 Javascript
jquery 回车事件实现代码
Aug 23 Javascript
js调用后台servlet方法实例
Jun 09 Javascript
Javascript/Jquery——简单定时器的多种实现方法
Jul 03 Javascript
javascript中的window.location.search方法简介
Sep 02 Javascript
功能强大的Bootstrap组件(结合js)
Aug 03 Javascript
JS版微信6.0分享接口用法分析
Oct 13 Javascript
jQuery实现图片滑动效果
Mar 08 Javascript
vue-cli脚手架config目录下index.js配置文件的方法
Mar 13 Javascript
vue 纯js监听滚动条到底部的实例讲解
Sep 03 Javascript
Vue框架TypeScript装饰器使用指南小结
Feb 18 Javascript
javascript函数式编程基础
Sep 15 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 smarty模版引擎中的缓存应用
2009/12/02 PHP
PHP 命令行参数详解及应用
2011/05/18 PHP
php根据某字段对多维数组进行排序的方法
2015/03/07 PHP
PHP会话处理的10个函数
2015/08/11 PHP
php使用crypt()函数进行加密
2017/06/08 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
2020/02/29 PHP
PHP开发api接口安全验证操作实例详解
2020/03/26 PHP
用XMLDOM和ADODB.Stream实现base64编码解码实现代码
2010/11/28 Javascript
jquery $(document).ready()和window.onload的区别浅析
2015/02/04 Javascript
javascript判断css3动画结束 css3动画结束的回调函数
2015/03/10 Javascript
jquery实现点击label的同时触发文本框点击事件的方法
2015/06/05 Javascript
Angular的Bootstrap(引导)和Compiler(编译)机制
2016/06/20 Javascript
jquery ajax后台返回list,前台用jquery遍历list的实现
2016/10/30 Javascript
利用jQuery插件imgAreaSelect实现获得选择域的图像信息
2016/12/02 Javascript
鼠标拖动改变DIV等网页元素的大小的实现方法
2017/07/06 Javascript
JS+HTML5 FileReader实现文件上传前本地预览功能
2020/03/27 Javascript
JS在if中的强制类型转换方式
2018/07/15 Javascript
了解JavaScript中的选择器
2019/05/24 Javascript
websocket4.0+typescript 实现热更新的方法
2019/08/14 Javascript
java实现单链表增删改查的实例代码详解
2019/08/30 Javascript
浅谈layui框架自带分页和表格重载的接口解析问题
2019/09/11 Javascript
[01:33]真香警告!DOTA2勇士令状不朽珍藏Ⅱ饰品欣赏
2018/06/26 DOTA
pytyon 带有重复的全排列
2013/08/13 Python
Python新手在作用域方面经常容易碰到的问题
2015/04/03 Python
python分析作业提交情况
2017/11/22 Python
通过python+selenium3实现浏览器刷简书文章阅读量
2017/12/26 Python
python之pandas用法大全
2018/03/13 Python
基于Python 装饰器装饰类中的方法实例
2018/04/21 Python
基于Django与ajax之间的json传输方法
2018/05/29 Python
带你认识Django
2019/01/15 Python
python利用多种方式来统计词频(单词个数)
2019/05/27 Python
Keras 快速解决OOM超内存的问题
2020/06/11 Python
CSS3系列教程:背景图片(背景大小和多背景图) 应用说明
2012/12/19 HTML / CSS
HTML5全屏(Fullscreen)API详细介绍
2015/04/24 HTML / CSS
小学三年级学生评语
2014/04/22 职场文书
学校党的群众路线教育实践活动总结报告
2014/07/03 职场文书