时间:2021-05-18
微信小程序-getUserInfo回调的实例详解
前言:
这里就不吹嘘微信小程序有多厉害了,毕竟也不是我写的,直接谈谈我在做小程序开发时遇到的奇异Bug。
getUserInfo多次调用:
对于wx.getUserInfo应该很多开发者都用过,用于获取用户基本信息,前提是需要用户授权,如果用户先前没有授权,则弹出一个提示框如下:
点击允许后,我们就能拿到用户信息,再进行后面的一系列操作。这一切看起来都是那么美好,可是在某次运行中,点允许授权后,程序并没有按照我们的预期往下执行。最后发现在其他的地方也调用一次了wx.getUserInfo方法,并且只执行了其中一个授权成功的回调。假设是如下代码:
结论:
1. 如果用户已授权: A B C都会被打印。
2. 用户未授权:点击允许后,A B C三个其一会被随机打印。
当然最好不要在多处同时调用wx.getUserInfo方法,不然遇到这个问题会很头疼。我对这个问题的看法是,多次调用getUserInfo方法只会产生一个弹窗的实例,所以点击允许时,只执行一次回调也很正常,但是随机执行其中一个方法就很奇怪了。
解决方法:
1. 不同时调用wx.getUserInfo方法,需要同时调用的情况少之又少。
2. 封装一个getUserInfo方法,把传入的回调方法存入数组,在授权成功/失败的回调中遍历调用后清空数组。
以下是测试环境:
微信开发者工具版本:v1.01.170925
基础库版本: 1.3.0
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
微信小程序request接口的封装实例代码小程序request接口的封装(本质上是对request回调函数再次回调)module.exports.getData
本文实例讲述了微信小程序获取用户信息的两种方法wx.getUserInfo与open-data。分享给大家供大家参考,具体如下:在此之前,小程序获取微信的头像,
promise化的原因微信小程序的api用的是对象参数回调模式,很容易造成回调地狱,代码难以阅读,判断,修改和调试.微信小程序api示例//获取用户信息wx.g
C++中回调函数详解及简单实例回调函数调用关系图对于第一种情况,主程序可以从执行到回调函数,也可以不执行回调函数,关键看宿主函数是否调用了回调函数。对于第二种情
微信小程序后台解密用户数据实例详解微信小程序API文档:https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-lo