前言
虽然app.js先于index.js。但是修改app.js中的全局变量是异步请求,如果你想在index.js里获取app.js修改后的值,那么需要使用promise来实现异步。
//app.js
App({
globalData: {
userInfo: null
},
// 检测授权
getauthor: function () {
return new Promise((resolve, reject) => {
wx.getSetting({
success: (res) => {
if (res.authSetting["scope.userInfo"]) {
console.log("已授权");
wx.getUserInfo({
lang: 'zh_CN',
success:(res)=> { //箭头函数为了处理this的指向问题
this.globalData.userInfo = res.userInfo;
resolve(this.globalData.userInfo); // 这里是关键
}
})
}