微信小程序-getUserInfo回拨
这里微信小程序有多强大我就不吹嘘了。毕竟不是我写的。先说说我在开发小程序时遇到的奇怪bug。
GetUserInfo被多次调用:
Wx.getUserInfo应该被很多开发者用来获取用户的基本信息,前提是需要用户的授权。如果用户之前没有授权,会弹出如下提示框:
点击权限后,我们可以获取用户信息,然后进行后续的一系列操作。这一切看似如此美好,但在某次操作中,授权被授予后,程序并没有像我们预期的那样进行下去。最后发现在其他地方只调用了一次wx.getUserInfo方法,只执行了一次授权成功的回调。假设它是以下代码:
结论:
如果用户已经授权:将打印一个B B C。
用户未授权:点击允许后,会随机打印A、B、C三种中的一种。
当然最好不要同时在多个地方调用wx.getUserInfo方法,否则遇到这个问题会很头疼。我对这个问题的看法是,多次调用getUserInfo方法只会产生一个弹出的实例,所以点击Allow时只执行一次回调是正常的,但是随机执行其中一个方法就很奇怪了。
解决方案:
不同时调用wx.getUserInfo方法,很少同时调用。
封装一个getUserInfo方法,将传入的回调方法存储到一个数组中,并在成功/失败的授权回调中遍历调用后清除该数组。
以下是测试环境:
微信开发者工具版本:v1.01.170925
基本库版本: 1.3.0
如有问题或不恰当,请纠正。
版权声明:微信小程序-getUserInfo回拨是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。