(新手填坑)微信小程序API回调函数的“延迟”
来源:互联网 发布:lol徐老师的淘宝店网址 编辑:程序博客网 时间:2024/06/03 19:12
微信小程序API回调函数的阻塞
问题现象
bindTest 是按钮触发事件,我按两下打印的LOG如下(第1次按和第2次按,打印的顺序不一致???):
而代码是这样的:
app.getUserInfo就是官方DEMO示例:
日志打印是1在2前,实际第一次点按钮触发bindTest方法后,却发现先输出2再输出1,第二次以后都是正常的。
具体原因
wx.login和wx.getUserInfo的回调函数是异步的!
正因如此,app.getUserInfo的cb也就有第一次是异步执行的情况,导致先输出2,相当于还没有获取到用户信息时,这两个接口就直接返回了,真正获取用户信息的代码还在等待CPU调度,延后执行。
这也能解释我这些天的另一个疑惑“为何第一次调用login,getUserInfo总是拿不到正确信息”,其实不是拿不到,只是有点“延迟”而已!
扩展
据微信开发者社区前辈介绍,微信小程序API接口有些是异步的,有些是同步的,新手在使用时需要注意了。
阅读全文
0 0
- (新手填坑)微信小程序API回调函数的“延迟”
- 微信小程序开发之新手填坑
- 回调函数API
- ajax回调函数 异步延迟
- 第一次记录自己学习中的问题(新手)----回调函数(复制别人的)
- 在C#中使用API回调函数的方法
- 调用API的SDK相关知识:实现回调函数.
- GLUT 调用回调函数API的理解与小结
- 小程序-回调函数
- 对于js定时器中带有参数的回调函数没有延迟效果的解决方法
- Java编程程序回调函数的理解
- Java编程程序回调函数的理解
- 回调函数的理解,以及java例子程序
- 回调函数 Callback function 的概念与程序示例
- 微信小程序 填坑(--持续更新)
- 回调函数的使用(一)
- 回调函数的使用(二)
- 回调函数的使用(三)
- 匹配算法
- 一个投机取巧的上传图片前预览
- mfc程序向焦点的输入
- SVN和git
- 列表生成式
- (新手填坑)微信小程序API回调函数的“延迟”
- 第13篇:Angular-表单动态添加删除
- 修改/proc/sys/kernel/sem,但保存的时候保存不了,报错:Fsync failed
- java.lang.ClassCastException: java.math.BigDecimal cannot be cast to java.lang.String
- easyui-datagrid获取到日期格式的数据,在jsp页面进行格式化。
- mysql最大连接数
- HTML基础
- VUE 全家桶,vue2-vue-router-vuex-axios
- jbpm4空指针