收藏
回答

app.js和index.js中的方法谁先执行

问题模块
API和组件

发现页面中的方法有些会比app.js中的方法更先执行,但是如果我想必须app.js中的方法执行完了才能执行页面中的方法该怎么办?

最后一次编辑于  2017-09-28
回答关注问题邀请回答
收藏

2 个回答

  • 小鹏君
    小鹏君
    2017-10-18

    楼上的方法亲测有效,感谢了

    2017-10-18
    赞同
    回复
  • KingFer
    KingFer
    2017-09-28

    使用异步回调callback

    app.js

    App({
      onLaunch: function () {
       wx.getUserInfo({
         success: res => {
         // 可以将 res 发送给后台解码出 unionId
            this.globalData.userInfo = res.userInfo
     
            // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
            // 所以此处加入 callback 以防止这种情况
            if (this.userInfoReadyCallback) {
               this.userInfoReadyCallback(res)
            }
         }
       })
      }
    })

    index.js

    //index.js
    //获取应用实例
    const app = getApp()
     
    Page({
      data: {},
      onLoad: function () {
          // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
          // 所以此处加入 callback 以防止这种情况
          app.userInfoReadyCallback = res => {
            // do something
          }
      }
    })


    2017-09-28
    赞同
    回复