在app.js的onLaunch中执行请求授权和获取服务端的token,然后首页的js拿着这个token去后台请求接口,但有时会出现token还没拿到就去后台请求API接口了,这个问题怎么解决啊?
方法很多啊,有简单的和复杂的,复杂的更通用,大概是这种模式
app.js页
getToken(){
wx.request({
url:‘xxx’,
success:(res)=>{
this.globalData.token = res.data.token;
this.globalData.tokenCallback && this.globalData.tokenCallback();//如果回调函数存在就执行
}
}
}
index.js
里判断一下
if(app.globalData.token){//如果已经赋值成功就直接用
//获取到token后的执行逻辑
}else{//如果没有赋值成功就预先写好一个回调函数,然后获取到token后执行回调函数就行了
app.globalData.tokenCallback = function(token){
//获取到token后的执行逻辑
}
}