微信小程序:userInfoReadyCallback介紹
發布日期:2019-10-08瀏覽次數:1584 來源:福州網站建設
wx.getUserInfo({
success: res => {
console.log('getUserInfo success:', res);
// 可以將 res 發送給后臺解碼出 unionId
this.globalData.userInfo = res.userInfo
// 由于 getUserInfo 是網絡請求,可能會在 Page.onLoad 之后才返回
// 所以此處加入 callback 以防止這種情況
if (this.userInfoReadyCallback) {
this.userInfoReadyCallback(res)
}
}
})
page.onload
if (app.globalData.userInfo){
this.setData({
userInfo: app.globalData.userInfo
})
}
// 給app.js 定義一個方法。
app.userInfoReadyCallback = res =>{
console.log('userInfoReadyCallback: ', res);
console.log('獲取用戶信息成功');
this.setData({
userInfo: res
})
};
this.userInfoReadyCallback,這個方法是在page.onload中定義的。
判斷page.onload 中是否定義了this.userInfoReadyCallback
??注:因為wx.getUserInfo是異步的,不知道異步先執行完畢還是page.onload先執行完畢
1. 方法如果定義了,則說明page.onload比當前方法運行的早(page已經完成初始化),app的globalData還沒有數據,通過此回調可以及時的刷新數據
2. 方法如果沒有定義,則說明page.onload比當前方法運行的晚(page還沒有初始化),app的globalData是有值的,可以在page.onload中取globalData里面的值
以上是由福州網站建設的小編為你分享了"微信小程序:userInfoReadyCallback介紹"文章,如果你在這方面有什么問題,隨時聯系我們