微信小程序在app.js修改后的全局变量值在其他页面异步获取的问题

在微信小程序中,由于app.js的全局变量修改是异步操作,若要在其他页面如index.js中同步获取更新值,需借助Promise实现异步操作同步显示。默认项目已提供获取授权头像信息的示例。
摘要由CSDN通过智能技术生成

虽然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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值