小程序首页onLoad为异步,调用app.js中的全局参数的解决方案。

一,先说一下遇到的问题:

在首页,为了携带app.js中一些参数去做请求动作,但是由于异步原因,发现请求时候,参数信息还未获取到但请求已经发出去。

若等app.js的全局参数返回来,再携带着它去做请求动作,那是我们想实现的。

二, 解决方案:

在app.js的中定义一个回调函数:

//  app.js
request.xxx({}, (res)=>{
 var param1= res.data;
});
//重点
if(this.xxxCallback) {
    this.xxxCallback(param1);
}
globalData: {
    param1:''
}

// index.js
onLoad: function() {
 if (app.globalData.param1 && app.globalData.param1 != '') {   
     //有就不说了,直接发起    
} else  {
//重点,防止onload后才有参数。
    app.xxxCallback = param1=> {
         if (session_id != '') {
            //放心请求去了。
        }
    }


}        

以上方法可完美解决。

原文地址:https://www.cnblogs.com/black-humor/p/8607996.html