解决vue中axios设置超时(超过5分钟)没反应的问题
(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';
前端大文件上传解决方案}
可以看出后台在400s之后可以返回数据,基本可以排除是后台laravel框架的问题
2.前端框架(Vue)验证
原先配置⽂件默认超时时长为2min(这⾥也是猜测)
然后开始上传视频,控制台发送upload请求,刷新阿⾥云控制台会看到⽂件正在上传,奇妙的事情发⽣了控制报错net
err_empty_response,然后在刷新阿⾥云控制台会发现刚才上传的视频已经完成,但是还有同样的⼀个视频正在上传,所以猜测在前端没有得到response后,⼜尝试了请求了⼀次,导致视频会被上传两次!所以可以断定问题出在前端框架上。
经过⼀顿的测试和研究发现,
这⾥设置timeout后可以有效的解决刚才的问题!
以上这篇解决vue中axios设置超时(超过5分钟)没反应的问题就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论