收藏
回答

关于小程序app.js执行顺序或逻辑的疑问!

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还没有形成。


我这个疑问主要是在  “当扫码进入某一页”  所产生的...

求各位大神及官方大大解惑一下


最后一次编辑于  2018-01-15
回答关注问题邀请回答
收藏

3 个回答

  • HS
    HS
    2018-01-16

    您可以写在众多位置,只要确保异步调用逻辑和顺序。

    2018-01-16
    有用
    回复
  •  
     
    2018-01-16

    那我是否可以吧wx.login()写在onLaunch()?

    2018-01-16
    有用
    回复 1
    • czh
      czh
      2019-05-15

      提示: app.js 里面的onlaunch 事件不是每次进入小程序都可以触发的,ios就不行。

      2019-05-15
      回复
  • HS
    HS
    2018-01-16

    wx.login( ) 方法是异步的,它得到结果从而调用其自身回调的时刻可能非常晚。建议调整小程序的运行顺序和逻辑。

    2018-01-16
    有用
    回复
登录 后发表内容