我在app.js通过wx.login方法获取到code之后,调用后台的方法转换成sessionKey,然后缓存起来,在其他页面还没从缓存中获取到数据就先调用了接口
网友回复:
用一个事件回调
onLoad: function () {
wx.request({
url: app.globalData.domain,
method: 'POST',
header: {
'content-type': 'application/x-www-form-urlencoded'
},
data: {
sessionKey: wx.getStorageSync('sessionKey'),
},
success: function (result) {
console.log(result);
}
})
}
怎么改?比如这样...
增加一个callback,具体函数内容在其他页面初始化:
// 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
// 所以此处加入 callback 以防止这种情况
if (this.userInfoReadyCallback) {
this.userInfoReadyCallback(res)
}
谢谢大佬