我是基于一个场景:
在app.js中执行登录请求取得身份识别标记,由于时序问题,如何处理其他页面请求时未获取到身份识别标记的情况。(token,userid等)。怎么能够保证其他页面请求是在登录之后
//在app.js中定义一个方法 监听globalData的属性isLog变化 isLogWatch:function(callBack){ var obj = this.globalData; Object.defineProperty(obj,"isLog", { configurable: true, enumerable: true, set: function (value) { // value就是被新赋予的值,通过回调函数,把这值回调出去 callBack(value); }, get:function(){ // 可以在这里打印一些东西,然后在其他界面调用getApp().globalData.name的时候,这里就会执行。 return this._name } }) }, //在页面中调用方法,拿到globalData属性 isLog新改变的值 onLoad () { // 直接调用app的定义的方法logWatch app.isLogWatch(this.watchBack); }, watchBack(newValue){ //如果新赋予的值为真,表示登录完成,取得登录后的数据 if(newValue){ //执行首页发送请求的方法 this.getData(); } }, getData() { indexData({ token: app.globalData.token, }).then(res => { console.log(res) }).catch(res => { console.log(typeof res) app.Tips(res) }) },更多可参考一个博主的文章https://blog.csdn.net/xuyangxinlei/article/details/81408200