场景

由于微信小程序是异步加载的,所以基本上app.js的方法加载还没结束就page的方法就已经执行了

实现

使用promise实现回调函数

app.js
resolve用来回调请求成功的数据, reject用来回调请求错误的数据

checkDepositCompleteed(event) {
    // 检查基金模块用户是否已填写底金
    return new Promise((resolve, reject) => {
      const that = this
      depositModel.getUserDeposit().then(res => {
        const money = res.data['deposit']
        if (money > 0) {
          that.globalData.depositCompleteed = true
        } else {
          that.globalData.depositCompleteed = false
        }
        resolve(res)
      })
    })
  }

page js

onLoad: function (options) {
    app.checkUserLogined().then(res => {
      if (!res.data) {
        this.getOptionalData()
      } else {
        this.getOptionalData(res.data['token'])
      }
    })
  }
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐