场景
我的项目启动的时候(onLaunch)就向后端申请接口返回租户ID,在首页(onLoad)中因为异步申请在这里并没有拿到租户ID

(备注:在onReady事件中偶然能够拿到租户ID,这是因为onLaunch里的接口申请快的起因,写在onReady里并不能解决问题)

是因为异步申请,还没拿到后果,onLoad就执行了。小程序并没有让app.js里onLaunch的办法执行完再去执行页面中的办法

解决办法
在onLaunch的接口中增加申请回调

appjs中增加wxConfigCallback回调

onLaunch: function () {    this.getWxConfig(); //获取小程序配置信息  },  //获取小程序配置信息getWxConfig: function () {    api.getWxConfig({      appId:this.appId || wx.getStorageSync("appId")    }).then((res) => {      let config = res.data;      //存储配置项      this.tenantId = config.tenantId;      this.msgTmplIds = config.msgTmplIds;      wx.setStorageSync("msgTmplIds", this.msgTmplIds);       wx.setStorageSync("tenantId", config.tenantId);      //是否有回调,以防home页的onLoad拿不到异步数据      if (this.wxConfigCallback) {        this.wxConfigCallback(config)      }    });},

home中应用回调后执行业务逻辑

onLoad: function (options) {    //拿到app.js配置参数后执行    app.wxConfigCallback = (config) => {        //执行业务逻辑...        consloe.log(config)        pageRecord(9)    }},