我们将一些可以复用的模块做成了分包异步化,在模拟器使用时没有出现下载异常的问题。上线之后通过wx.onLazyLoadError捕捉到了很多异步分包下载超时的日志。我们属于代码服务商发布的小程序较多,每天异步分包下载超时的日志要出现几万条。在使用模拟器开发时没有出现此类问题,为何上线之后出现而且也不只是每次都能出现,导致我们很难复现此类问题,基本上用户刷新或者重新进入小程序功能就正常了。我们大部分的分包异步化都是通过后端数据的开标识关控制,也就是后端设置了这个开关,那么这个异步分包的功能才会使用,所以这种异步分包都是用过wx-if控制的,这样也能做到按需下载。
针对分包异步化下载超时提出几个问题,请各位大佬以及小程序官方看一下有没有什么好的建议,或者大家在使用分包异步化的时候如果避免下载超时的?
1.分包异步化一个包大小限制是多少?一个页面可以支持几个异步分包下载?异步分包是并行下载还是异步下载?异步分包下载时如果有接口请求进行中哪个优先级高?异步分包下载失败没有继续尝试的机制吗?
2.wx.onLazyLoadError的文档介绍,有一个参数可以控制下载异步分包的超时时间,请问这个时间在哪里设置?
由于我们本地模拟器开发没有出现过这种问题,只有发布小程序后才会出现,而且我们使用的是uniapp转化的,所以提供代码片段意义不大。
下面的截图就是通过wx.onLazyLoadError捕获到的下载超时日志。其中的subpackage的数组字符串就是wx.onLazyLoadError回调函数返回的内容

https://developers.weixin.qq.com/miniprogram/dev/framework/subpackages.html