app.js onLaunch异步,首页onLoad先执行

2020-12-26  本文已影响0人  下班再说

解决思路:回调

[App] onLaunch -> [Page] onLoad -> [App] onLaunch sucess callback

//app.js

App({

onLaunch:function(){

    wx.request({

        url:'test.php',//仅为示例,并非真实的接口地址

        data: {},

        success:function(res){

            this.globalData.employId = res.employId;

            //由于这里是网络请求,可能会在 Page.onLoad 之后才返回

            // 所以此处加入 callback 以防止这种情况

            if(this.employIdCallback){

                this.employIdCallback(res.employId);

            }

          }

    })

  },

globalData: {

    employId:''

  }

})

//index.js

//获取应用实例

constapp = getApp()

Page({

data: {

albumDisabled:true,

bindDisabled:false

  },

onLoad:function(){

//判断是用户是否绑定了

if(app.globalData.employId && app.globalData.employId !='') {

this.setData({

albumDisabled:false,

bindDisabled:true

      });

}else{

// 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回

// 所以此处加入 callback 以防止这种情况

app.employIdCallback =employId=>{

if(employId !='') {

this.setData({

albumDisabled:false,

bindDisabled:true

          });

        }

      }

    }

  }

})

上一篇下一篇

猜你喜欢

热点阅读