一,先说一下遇到的问题:
在首页,为了携带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 != '') {
//放心请求去了。
}
} }
以上方法可完美解决。