虽然app.js先于index.js。但是修改app.js中的全局变量是异步请求,如果你想在index.js里获取app.js修改后的值,那么需要使用promise
来实现异步。
小程序默认项目自带了一种获取授权头像的信息了
promise实现异步操作同步显示流程
app.js
//app.js
App({
//获取授权的头像信息 检测授权
getUserInfo() {
return new Promise((resolve, reject) => {
// 获取用户信息
wx.getSetting({
success: res => {
if (res.authSetting['scope.userInfo']) {
wx.getUserInfo({
success: res => {
// 可以将 res 发送给后台解码出 unionId
this.globalData.userInfo = res.userInfo
resolve(this.globalData.userInfo); // 这里是关键
}
})
}else{
//之前没有授权信息头像
reject(this.globalData.userInfo)
wx.redirectTo({
url: '/pages/about/about'
})
console.log