猿问

在wx.getSetting中调用wx.getUserInfo方法时在授权过的条件下没有弹窗

 wx.getSetting({

      success: res => {

        if (res.authSetting['scope.userInfo']) {

          console.log('已经授权')

          // 已经授权,可以直接调用 getUserInfo 

          wx.getUserInfo({

            success: res => {

              console.log('app.js执行 getUserInfo')

              // 可以将 res 发送给后台解码出 unionId

              this.globalData.userInfo = res.userInfo


              // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回

              // 所以此处加入 callback 以防止这种情况

              if (this.userInfoReadyCallback) {

                this.userInfoReadyCallback(res)

              }

            }

          })

        }else{

          wx.getUserInfo({

            success: res => {

              console.log('app.js执行 getUserInfo2')

              // 可以将 res 发送给后台解码出 unionId

              this.globalData.userInfo = res.userInfo


              // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回

              // 所以此处加入 callback 以防止这种情况

              if (this.userInfoReadyCallback) {

                this.userInfoReadyCallback(res)

              }

            }

          })

        }

      }

    })

1:上面的代码中,第一次未授权时会走入else分支,此时会有弹窗,当我不清楚缓存,只是重新编译一下时再次运行时会走入if()分支也就是已经授权,但是紧接着下面也执行了wx.getUserInfo,但是没有弹窗,这是为什么?


慕仙森
浏览 1292回答 1
1回答
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答