问题模块 | API/组件名称 | 终端类型 | 微信版本 | 基础库版本 |
---|---|---|---|---|
API和组件 | app.js | 工具 | 最新 | 最新 |
这是一个好多人遇到的疑问.....
app.js在小程序执行过程中一定是最先执行的代码么?
例如app.js会在page之前就已经执行?
还是说app.js类似于异步,会存在page的js代码先执行,而app.js执行的会慢一些的情况,
所以导致一些app.js里的数据在page.js里获取是空的情况....
比如在app.js的onShow()里写一段wx.login()来获取openid并放入缓存,然后在page.js的onLoad()里console这个缓存,会是空的情况。
那如果我们想先让app.js先执行,从而不让空的情况出现,有什么好的办法?
是否可以把wx.login()写在app.js的onLaunch()里?因为此刻page还没有形成。
我这个疑问主要是在 “当扫码进入某一页” 所产生的...
求各位大神及官方大大解惑一下
网友回复
んS:
您可以写在众多位置,只要确保异步调用逻辑和顺序。
Vic Z:
那我是否可以吧wx.login()写在onLaunch()?
んS:
wx.login( ) 方法是异步的,它得到结果从而调用其自身回调的时刻可能非常晚。建议调整小程序的运行顺序和逻辑。