app.js和index.js中的方法谁先执行
发布于 4 年前 作者 xueming 19559 次浏览 来自 问答

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

2 回复

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

使用异步回调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
      }
  }
})
回到顶部