收藏
回答

已授权,多次切换页面调用wx.getSetting后,这个方法一直返回异常

框架类型 问题类型 终端类型 微信版本 基础库版本
小程序 Bug 客户端 7.0.4 2.7.3

已授权,多次切换页面调用wx.getSetting后,多调用几次后这个方法一直返回异常,然后我重新授权后还是没有用,一直要等过几分钟才有用,而且是在ios里面才有这个问题。急求大佬帮忙解答,因为涉及到登录的流程。。。


回答关注问题邀请回答
收藏

2 个回答

  • 凌金隆
    凌金隆
    2020-05-17

    我也是这样使用 Promise,在调试时 直接跳过if判断下[已授权],直接reject();

    我解决的方法时在获取授权时,把其值存储下来再判断

    代码如下:
    return new Promise((resolve, reject) => {
          wx.getSetting({
            success: res => {
              const auth = res.authSetting["scope.userInfo"]
              if (auth === true) {
                resolve();
              }
              // if (res.authSetting["scope.uesrInfo"] === true) {
              //   // 为啥 直接跳到 reject
              //   resolve();
              // }
              else {
                reject("用户未授权");
              }
            },
            fail: () => console.log("请求失败")
          });
        });
    
    2020-05-17
    有用
    回复
  • Geoffrey
    Geoffrey
    2019-12-03

    一样的问题……暂时的解决办法就是减少getsetting的调用,只在初始化的时候调用一次,不过可能用户在使用过程中关闭了授权就没法实时知道了

    2019-12-03
    有用
    回复
登录 后发表内容