当前位置:   article > 正文

基于小程序报错<request:fail 请求超时> <request:fail net::ERR_CONNECTION_TIMED_OUT>问题记录_request:fail timeout

request:fail timeout

起因:昨天半夜上了新功能之后, 可能大家都比较活跃, 在测试交互上就发现了今天写下的这个问题。<昨天上的功能是OK的>


复异过程:

测试后半截就随便点点嘛,一般都会看看之前的功能正不正常。然后L哥就发现了一个奇怪的问题,

基本上所有的页面,在反复进出一定次数之后,页面就没数据了。

实质上就是接口就不加载了。

我的第一反应就是微信那边是不是有什么异常

然后开调试看log

如下图:

社区搜了一圈,发现好多问同类报错的,但是看了十几页也没看到什么有价值的内容

就先睡了

第二天到公司打开开发者工具 真机模拟了一下异常的复现场景

发现了一个很特别的现象

基本上每次进出页面,在控制台的请求里都会挂起一个pending,然后pending接口超过10个之后,后续的调用就没有了,会等到前面的pending状态改变之后才继续执行。 

我去看了一下这个接口(这是我们自己埋点系统的接口),妈的智障!

后端不知道几时把这玩意做了内网访问限制。

接口去掉之后异常就没有了 <这是业务上的问题>

其实质是: 每个浏览器内核,对于同一域名下的网络请求都有并发限制。很显然小程序(或者说微信<其实质是QQ浏览器的X5内核>)的并发数量是10

当实际的请求并发到达这个数字之后,后续的请求就会等待执行,即像一个单向队列一样,前面10个排队的有人出去,后面的请求才能进去,出几个进几个。

更详细的浏览器同域名请求的最大并发数限制 - sunsky303 - 博客园 可以看一下这篇文章,说的相当清楚。

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/188775
推荐阅读
相关标签
  

闽ICP备14008679号