小程序
小游戏
企业微信
微信支付
扫描小程序码分享
按照小程序的时序图,onload完了以后才会onshow,所以我在onload时获取一些数据,并放入data中,但是在onshow时发现虽然onload执行完了,但是setdata的过程还在执行中,有一些数据还没有值,为此,在onshow中获取这个值是就会报空,不知道该怎么解决,其实就只要wait 1-2秒好了。
6 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
好像小程序的this.setData({ a:res.data });会因为数据量大有延迟,即便在这句后输出a,a也是空值,如果数据小,可能反应快,感觉是异步的
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
我将先执行的放在wx.onload里面,后执行的放在onshow里面,这个本身就有先后了吧,onload中肯定要执行完以后才会onshow,但是就是setdata比较慢
延时会有误差,回调函数示例: this.hello(a),hello是首先执行的函数,a是在hello函数执行完毕之后触发的函数
setTimeout(function() { ******** }, 2000)
是不是只能用setTimeout
写函数回调
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
好像小程序的this.setData({ a:res.data });会因为数据量大有延迟,即便在这句后输出a,a也是空值,如果数据小,可能反应快,感觉是异步的
我将先执行的放在wx.onload里面,后执行的放在onshow里面,这个本身就有先后了吧,onload中肯定要执行完以后才会onshow,但是就是setdata比较慢
延时会有误差,回调函数示例: this.hello(a),hello是首先执行的函数,a是在hello函数执行完毕之后触发的函数
setTimeout(function() { ******** }, 2000)
是不是只能用setTimeout
写函数回调