小程序page监听App.js登陆方法

在page页面中需要token,但是登陆往往都放在app.js中,两者又是异步,常常导致bug。

所以应该在page页面中实现这部分代码:

app.js实现

  //在app.js中定义一个方法 监听globalData的属性isLog变化
  isLoginWatch:function(callBack){
    var obj = this.globalData;
    Object.defineProperty(obj,"token", {
      configurable: true,
      enumerable: true,
      set: function (value) {
        // value就是被新赋予的值,通过回调函数,把这值回调出去
        callBack(value);
        this._token = value;
      },
      get:function(){
        console.log("获取数据", this.token);
        return this._token;
      }
    })
  },

page中实现: sdk.getToken是判断方法token是否存在,如果存在直接使用,如果不存在,那么就监听app.js中的方法。 this.watchLogin是要在app.js获取完成token后,所需要执行的回调。

    if(sdk.getToken()){
      this.init();
    }else{
      getApp().isLoginWatch(this.watchLogin);
    }

你可能感兴趣的:(小程序page监听App.js登陆方法)