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

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

作者: 下班再说 | 来源:发表于2020-12-26 14:46 被阅读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

          });

        }

      }

    }

  }

})

相关文章

网友评论

      本文标题:app.js onLaunch异步,首页onLoad先执行

      本文链接:https://www.haomeiwen.com/subject/mdlgnktx.html