小程序首页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 != '') { //放心请求去了。 } } }
以上方法可完美解决。