微信小程序-getUserInfo回调的实例详解


Posted in Javascript onOctober 27, 2017

微信小程序-getUserInfo回调的实例详解

前言:

这里就不吹嘘微信小程序有多厉害了,毕竟也不是我写的,直接谈谈我在做小程序开发时遇到的奇异Bug。

getUserInfo多次调用:

对于wx.getUserInfo应该很多开发者都用过,用于获取用户基本信息,前提是需要用户授权,如果用户先前没有授权,则弹出一个提示框如下:

微信小程序-getUserInfo回调的实例详解

点击允许后,我们就能拿到用户信息,再进行后面的一系列操作。这一切看起来都是那么美好,可是在某次运行中,点允许授权后,程序并没有按照我们的预期往下执行。最后发现在其他的地方也调用一次了wx.getUserInfo方法,并且只执行了其中一个授权成功的回调。假设是如下代码:

微信小程序-getUserInfo回调的实例详解

结论:

1. 如果用户已授权: A B C都会被打印。

2. 用户未授权:点击允许后,A B C三个其一会被随机打印。

当然最好不要在多处同时调用wx.getUserInfo方法,不然遇到这个问题会很头疼。我对这个问题的看法是,多次调用getUserInfo方法只会产生一个弹窗的实例,所以点击允许时,只执行一次回调也很正常,但是随机执行其中一个方法就很奇怪了。

解决方法:

1. 不同时调用wx.getUserInfo方法,需要同时调用的情况少之又少。

2. 封装一个getUserInfo方法,把传入的回调方法存入数组,在授权成功/失败的回调中遍历调用后清空数组。

以下是测试环境:

微信开发者工具版本:v1.01.170925

基础库版本: 1.3.0

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
[转]JS宝典学习笔记
Feb 07 Javascript
关于javascript中的parseInt使用技巧
Sep 03 Javascript
jQuery实现模拟marquee标签效果
Jul 14 Javascript
js判断浏览器类型及设备(移动页面开发)
Jul 30 Javascript
JavaScript如何禁止Backspace键
Dec 02 Javascript
基于Jquery插件实现跨域异步上传文件功能
Apr 26 Javascript
关于Jquery中的bind(),on()绑定事件方式总结
Oct 26 Javascript
Bootstrap Search Suggest使用例子
Dec 21 Javascript
angularJs中datatable实现代码
Jun 03 Javascript
Node.js中package.json中库的版本号(~和^)
Apr 02 Javascript
javascript中的相等操作符(==与===区别)
Dec 21 Javascript
浅谈vue在html中出现{{}}的原因及解决方式
Nov 16 Javascript
基于JavaScript实现报警器提示音效果
Oct 27 #Javascript
JavaScript数据结构之双向链表定义与使用方法示例
Oct 27 #Javascript
jQuery判断网页是否已经滚动到浏览器底部的实现方法
Oct 27 #jQuery
动态统计当前输入内容的字节、字符数的实例详解
Oct 27 #Javascript
elemetUi 组件--el-upload实现上传Excel文件的实例
Oct 27 #Javascript
node 利用进程通信实现Cluster共享内存
Oct 27 #Javascript
vue中v-model动态生成的实例详解
Oct 27 #Javascript
You might like
全国FM电台频率大全 - 17 湖北省
2020/03/11 无线电
PHP中实现汉字转区位码应用源码实例解析
2010/06/14 PHP
php和mysql中uft-8中文编码乱码的几种解决办法
2012/04/19 PHP
表单提交错误后返回内容消失问题的解决方法(PHP网站)
2015/10/20 PHP
详解ThinkPHP3.2.3验证码显示、刷新、校验
2016/12/29 PHP
PHP xpath提取网页数据内容代码解析
2020/07/16 PHP
jquery获取下拉列表的值为null的解决方法
2011/03/18 Javascript
jquery miniui 教程 表格控件 合并单元格应用
2012/11/25 Javascript
jquery 取子节点及当前节点属性值
2014/07/25 Javascript
js生成随机数的过程解析
2015/11/24 Javascript
jQuery Validate表单验证插件 添加class属性形式的校验
2016/01/18 Javascript
vue组件详解之使用slot分发内容
2018/04/09 Javascript
element-ui使用导航栏跳转路由的用法详解
2018/08/22 Javascript
layui2.0使用table+laypage实现真分页
2019/07/27 Javascript
highcharts.js数据绑定方式代码实例
2019/11/13 Javascript
简单的编程0基础下Python入门指引
2015/04/01 Python
使用Python的Scrapy框架编写web爬虫的简单示例
2015/04/17 Python
Python中max函数用法实例分析
2015/07/17 Python
python中pygame针对游戏窗口的显示方法实例分析(附源码)
2015/11/11 Python
Python 包含汉字的文件读写之每行末尾加上特定字符
2016/12/12 Python
Python tkinter模块中类继承的三种方式分析
2017/08/08 Python
python编程羊车门问题代码示例
2017/10/25 Python
Python装饰器简单用法实例小结
2018/12/03 Python
Python操作qml对象过程详解
2019/09/26 Python
keras 特征图可视化实例(中间层)
2020/01/24 Python
django admin 添加自定义链接方式
2020/03/11 Python
CSS3中box-shadow的用法介绍
2015/07/15 HTML / CSS
Bibloo罗马尼亚网站:女装、男装、童装及鞋子和配饰
2019/07/20 全球购物
乔丹名人堂演讲稿
2014/05/24 职场文书
离婚协议书应该怎么写
2014/10/12 职场文书
团组织推优材料
2014/12/29 职场文书
员工工作表现自我评价
2015/03/06 职场文书
家庭教育培训学习心得体会
2016/01/14 职场文书
《我的伯父鲁迅先生》教学反思
2016/02/16 职场文书
2016年读书月活动总结范文
2016/04/06 职场文书
Python 绘制多因子柱状图
2022/05/11 Python