目标:每次读取十条活动数据,根据活动发布者openid查询发布者头像和昵称并补充进去
页面UI
获取活动的函数,下拉或上拉或onload的时候调用
数据库有13条数据,先onload加载十条数据,但是用户对象creator和时间字符串没有被渲染,上拉刷新后前十条正常显示但后三条又出现相同问题
加载前十条
下拉加载后三条
打印结果
appdata
有数据但是只有部分渲染
但把拼接数组设定时延后能正常显示
为什么?
框架类型 | 问题类型 | 终端类型 | 微信版本 | 基础库版本 |
---|---|---|---|---|
小程序 | Bug | 微信安卓客户端 | 最新 | 2.27.2 |
5 个回答
我也遇到了相同的问题。我去三个有关联的数据库中获取不同的字段内容,合并到一个新数组中,没有用for,也遇到了部分渲染成功,部分失败的问题。虽然用了setTimeout没用到1000,500就解决了,但感觉很不稳定。是bug还是别的原因?
我觉得是异步的问题。
这里循环从数据库取数的操作会有异步问题。 建议把这里和上一个数据库操作合并。只从数据库取一次值。
因该不是异步问题吧,从数据库读取的活动没有发布者creator和日期字符串startTime_str属性,遍历后才加上的。而且appdata中是可以看到这两个属性被添加进去的,但是没有显示。如果是异步问题的话,appdata中因该没有这两个属性啊,这种for循环不是同步的吗
JS异步问题