### [微信小程序-getUserInfo回调的介绍](https://www.prosaas.cn/article/17473) **Published:** 2018-06-22T07:53:53 **Author:** 5201314 **Excerpt:** 这篇文章主要介绍了微信小程序-getUserInfo回调的实例详解的相关资料,希望通过本文能帮助到大家,让大家… 这篇文章主要介绍了微信小程序-getUserInfo回调的实例详解的相关资料,希望通过本文能帮助到大家,让大家理解掌握这部分内容,需要的朋友可以参考下 **微信小程序-getUserInfo回调的实例详解** **前言:** 这里就不吹嘘微信小程序有多厉害了,毕竟也不是我写的,直接谈谈我在做小程序开发时遇到的奇异Bug。 **getUserInfo多次调用:** 对于wx.getUserInfo应该很多开发者都用过,用于获取用户基本信息,前提是需要用户授权,如果用户先前没有授权,则弹出一个提示框如下: ![](https://img.php.cn/upload/article/000/000/009/eb4d3f8c1c078213747a9e954580f494-0.png) 点击允许后,我们就能拿到用户信息,再进行后面的一系列操作。这一切看起来都是那么美好,可是在某次运行中,点允许授权后,程序并没有按照我们的预期往下执行。最后发现在其他的地方也调用一次了wx.getUserInfo方法,并且只执行了其中一个授权成功的回调。假设是如下代码: ![](https://img.php.cn/upload/article/000/000/009/d7f3f034374b9203ea96f6cc30910ee7-1.png) **结论:** 1\. 如果用户已授权: A B C都会被打印。 2\. 用户未授权:点击允许后,A B C三个其一会被随机打印。 当然最好不要在多处同时调用wx.getUserInfo方法,不然遇到这个问题会很头疼。我对这个问题的看法是,多次调用getUserInfo方法只会产生一个弹窗的实例,所以点击允许时,只执行一次回调也很正常,但是随机执行其中一个方法就很奇怪了。 **解决方法:** 1\. 不同时调用wx.getUserInfo方法,需要同时调用的情况少之又少。 2\. 封装一个getUserInfo方法,把传入的回调方法存入数组,在授权成功/失败的回调中遍历调用后清空数组。 **以下是测试环境:** 微信开发者工具版本:v1.01.170925 基础库版本: 1.3.0 以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网! 相关推荐: 微信小程序开发switchTab如何使用 微信小程序开发UI框架如何使用 微信小程序开发容器视图的使用 以上就是微信小程序-getUserInfo回调的介绍的详细内容,更多请关注知企PROSAAS其它相关文章! **Categories:** 后端开发 ---