小程序globalData获取头像

在做小程序的时候碰到了app.globalData.userInfo

获取userInfo的时候报空,查了下原因,小程序获取信息的时候为异步请求

所以要定时检测头像

// pages/personal/index/index.js

var app = getApp();

Page({
/**
* 页面的初始数据
*/
data: {
userInfo: {}
},

/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
var that = this;
//微信获取信息为请求(异步)所以定时检测头像
this.getWxUserInfo();
},
getWxUserInfo(){
if ( this.data.avatarUrl){ //如果已经有头像了,则退出
return;
}
console.log( 'do-getWxUserInfo')
if (!app.globalData.userInfo.avatarUrl) { //判断是否登录获取到头像
//登录信息中没有
if (wx.getStorageSync( "userData").imageUrl){ //判断缓存中是否有头像
this.setData({
avatarUrl: wx.getStorageSync( "userData").imageUrl
})
return ;
}

//缓存中没有重新递归这个方法
setTimeout(() => {
this.getWxUserInfo();
}, 500)
} else{
this.setData({
avatarUrl: app.globalData.userInfo.avatarUrl
})
}
},

})

猜你喜欢

转载自blog.csdn.net/dj_fairy/article/details/80828502