- 为什么array数据读取时【偶尔】返回length出错【但数据内容都存在】?
背景介绍:使用array从云开发自带的数据库中读取数据(共26条)。 正常情况下的输出(length)应该如下图第194行所示: [图片] 是[Array(26), Array(26), Array(26)],为正常运行情况。也是在大部分时候编译后出现的情况。 然而少数时候编译时,会出现如下图所示的异常情况: [图片] 如图所示,输出的是[Array(6), Array(6), Array(6)],输出detail[0].length也是6(为后续使用.length带来bug),而正常输出应该是上面的26。虽然长度上显示的是6,但是下拉后发现其实还是包含了26条的全部数据。(p.s. 这个问题只在少数编译时发生) p.s. 关于显示"6"的推测:因为数据库读取只能分批进行,所以设置的每次读取量20条。推测可能产生上述问题的原因是只有最后一次读入的数据长度(26-20=6)被显示了出来。(p.s. 如果设置每次读10条,同样也是会出现6条的情况,而非16条。说明是只有最后一次的数据被记入了长度,而非只有第一次读的数据没被记入长度)。 新手开发🙏一开始测试数据比较少没有发现这个问题,现在突然发现这个不稳定的bug 还请大神们指点一二 谢谢!!
2021-04-14 - 主包大小超出2M,tabBar中包含了4个页面时如何通过分包减小主包的大小?
在首次尝试预览功能时,我们发现代码包大小超出了上限2048kb。考虑到这个上限在正式发布小程序时仍然存在,我们决定通过分包解决此问题。 [图片] 我们所包含的所有页面如下图所示: [图片] 其中,和tabBar相连的页面有Paunch, Rank, Notify以及Profile。 [图片] 经过查找资料,我们了解到和tabBar相关的页面和小程序的首页必须放在主包内,其他页面可以被分出去。我们的页面结构如下图所示。 [图片] 可以看到,根据上述原理,大部分页面还是必须存在于主包中,不能被分离出去。比如,若是我们将与tabBar相连的Punch页面分离出去,则会出现灰色部分的报错。报错出现的具体操作是将 app.json 中的 "pages": [ "pages/Login/index", "pages/Punch/index", "pages/Rank/index", "pages/Notify/index", "pages/Profile/index", "pages/Register/index", "pages/Change/index" 中的以下一行删去 "pages/Punch/index", 报错复制见下: [ miniprogram/app.json 文件内容错误] miniprogram/app.json: ["tabBar"][0]["pagePath"]: "pages/Punch/index" need in ["pages"] 因此,主包中所包含的内容还是很多,主包大小还是很大。我们并不能通过分包将主包的大小减小到2048kb以下。 请问除了更改和tabBar绑定的页面和整体的UI逻辑,还有什么方法能解决我们现在的问题吗?或如果我们对以上概念有任何理解有误的地方,可否请您指出?谢谢!
2021-03-31