网络不佳时getSetting返回错误值
- 当前 Bug 的表现(可附上截图)
体验版中,网络信号不佳__时调用wx.getSetting()获取是否已授权__userinfo无法返回__或__返回错误值,网络条件好时一切正常。
Andriod 6.0.1
10分钟内无法进入success/fail 任一回调函数
IOS 12
进入success, 但res.authSetting["scope.userInfo"]是undefined,其实该用户已授权该信息。【这个非常坑,业务逻辑会引导用户再次授权而进入无限循环】
- 预期表现
网络信号不佳时调用wx.getSetting()进入fail回调。
- 复现路径
调用Demo
- 提供一个最简复现 Demo
function __request(url,bNeedAuth) { return new Promise(function (resolve, reject) { console.log('try to request url:' + url); if(wx.canIUse("getSetting")){ wx.getSetting({ success(res) { console.log('bNeedAuth is :' + bNeedAuth + ' res.authSetting["scope.userInfo"] is :' + (res.authSetting["scope.userInfo"]) ); if (bNeedAuth && !res.authSetting["scope.userInfo"]) { //my logic console.log('Not authorized!'); reject(new Error('not authorized !')); } else { //2.send request //wx.request() //... other logic } }, fail(err){ console.log('call wx.getSetting error.'); console.log(err); reject(err); } }) } else{ let errMsg = 'wx.getSetting is not supported.'; console.log(errMsg); reject(new Error(errMsg)); } })} |
