問題描述:在app.js中執行login請求獲取token,home.js中的請求會出現不帶token的情況。
原因:app.js中的login請求是異步操作,所以會出現執行home.js中請求的時候,login請求還未執行完成,因此獲取不到token。
解決方法:在app.js中使用Promise;在home.js判斷Promise的狀態,已完成時再去執行頁面的請求。
//app.js
wxLogin(){
return new Promise((resolve,reject)=>{
wx.login({
success: (res)=>{
login({
code: res.code,
appid: 'xxx'
}).then((data)=>{
resolve(res);
})
},
fail: (err)=>{
reject(err);
}
})
})
}
//home.js
const app = getApp();
onLoad(){
app.wxLogin().then(()=>{
this.getList();
})
}