⼩程序解除10个请求并发限制
这可能是⼀个冷消息,所以标题⽐较劲爆。
⼩程序并发限制由来已久,从刚发布时的 5 并发,到后来的 10 并发,同时发出的请求数若超出这个限制则将被残忍抛弃,由此催⽣了很多开发者在⾃⼰的项⽬中造了「请求排队」的轮⼦。然⽽事实上,早在⼀年半以前,该限制就被官⽅取消。
10 个请求的并发限制
关于并发限制,开发者⽂档中是这么写的:
鲁迅美术学院在哪这⼀限制的意思是在同⼀时刻,wx.request、wx.uploadFile、wx.downloadFile加起来的并发总数不能超出 10 个。心痛歌词
⾄今,仍有很多开发者⼀直遵守着这个规则。
许多⼈在写业务的时候⼩⼼翼翼地维护着请求数。为了将请求数控制好,特地将⼀些并⾏请求改为串⾏,或者引⼊请求队列来维护⼩程序请求。
这部分资深开发者为了遵守这⼀规则所花的功夫,多少反映出了早年他们在⾯对数额超出后请求被残忍抛弃时的⽆奈。
附⼩程序基础库版本 1.3.0 的控制台报错:
时⾄今⽇,仍有开发者在讨论解决⼩程序并发限制的⽅法:
被忽略的消息
实际上,在 2017 年 7 ⽉的基础库 1.4.0 版本升级中就做了优化,对超过并发限制的请求做了队列处理,只是还有很多开发者并不知道这⼀消息。
从严格意义上来说,此次优化并没有完全解除原有的并发限制。⽬前同时处理请求的上限仍是 10 个,但在 10 个以外的请求会排队,当前⾯有请求完成的时候,队列中的请求按顺序发送并处理,*不会像之前那样直接将超出 10 个的请求丢弃。
三寸天堂歌词附件⼩程序基础库 1.4.0 更新⽇志(部分):lol萝莉
现在,我们终于可以忽略请求并发限制,愉快地发送请求了。毕竟请求都是可以都发送出去的,只不过在效率上会⽐⽆并发限制的情况慢⼀些。
发送请求的正确姿势
如上⽂所说,⼩程序是在基础库 1.4.0 版本中加⼊对超过并发限制的请求做队列处理优化的,在 1.4.0 以下的版本中超出并发部分的请求会被丢弃。
据官⽅数据,截⽌到 2018 年 12 ⽉,1.4.0 版本以下⽤户占⽐⼤约是 0.04%,虽然⽬前⼩程序很少会兼容到这么低的版本,但是对⼀些有特殊需要的⼩程序也要注意基础库的差异。
另外要注意的是⼩程序并发请求的排队机制。当同时调⽤的请求超过 10 个时,⼩程序会先发起 10 个并发请求,超过 10 个的部分按调⽤顺序进⾏排队,当前⼀个请求完成时,再发送队列中的下⼀个请求。
附 20 个请求并发测试:
测试结果:
空调制热耗电量
从图中可以看到,前 10 个请求同时发出,⽽后⾯的请求的起始点,对应了前⾯某个请求的结束点,可以反映出请求的排队⾏为。农业银行网上查询
这意味着,在并发请求很多的时候应该做好排队策略,按请求的重要程度和响应时间调整调⽤顺序,如果遇到请求的响应很慢的情况,可以考虑做timeout处理,以免⼤量等待,影响⽤户体验。
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论