小程序
小游戏
企业微信
微信支付
扫描小程序码分享
bindTest 是按钮触发事件,我按两下打印的LOG如下(第1次按和第2次按,打印的顺序不一致???):
7 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
js 是单线程模型,所有的 js 代码都是在同一个线程里执行的,所以不用考虑线程间冲突之类的麻烦事儿。一般来说,都是因为涉及 IO 操作才会用到异步模式,如果你自己一定要用代码实现一个异步回调的效果的话,可以用 setTimeout()。
第二个问题,理解正确。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
谢谢大牛!这种异步回调的接口,通常是类似fork一个子线程的方式去实现的吗? 还是JS中有什么方法可以实现定义回调函数为异步的?
我截图的那个 app.getUserInfo 里的例子应该确切的说是受 wx.getUserInfo 的回调 success 影响时可能会是异步的,而直接返回缓存中结果的是同步的方式,能这样理解的吧?
首先,是否异步,取决于函数的具体实现方式,比如 wx.login 和 wx.getUserInfo 就是异步的,而你的 app.getUserInfo 有时表现为异步、有时表现为同步。
其次,回调函数典型的应用场景就是用于接收异步操作的结果,但也不总是这样,比如 Array.forEach() 这个函数也是以一个回调函数为入口参数,但它是同步执行的。
是js里这种调用wx.login的函数,里面的sucess或fail这类回调都是异步的,还是说只是微信小程序里实现这些回调都是异步的? 我是JS萌新,求教。
简单一点问就是:
问题1: 回调过程是异步的,能这样理解吗?
问题2:微信小程序的回调是异步的? 还是js的回调是异步的? 还是仅限于部分微信小程序接口里的回调是异步的?
我在官方API介绍里没有找到关于wx.login是异步的说明。
这个函数内部是做了缓存的,第一次调用的时候,会去调用 wx.login/wx.getUserInfo 以获取数据,这是个异步过程,函数先返回,然后在将来的某个时间会在 success 里面调用传入的回调函数。第二次调用的时候,因为有了缓存,直接调用传入的回调函数,然后再返回。
官方的SAMPLE代码。
还是不清楚什么原因。
还是读一下你自己写的 app.getUserInfo 代码吧,应该就清楚了。
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
js 是单线程模型,所有的 js 代码都是在同一个线程里执行的,所以不用考虑线程间冲突之类的麻烦事儿。一般来说,都是因为涉及 IO 操作才会用到异步模式,如果你自己一定要用代码实现一个异步回调的效果的话,可以用 setTimeout()。
第二个问题,理解正确。
谢谢大牛!这种异步回调的接口,通常是类似fork一个子线程的方式去实现的吗? 还是JS中有什么方法可以实现定义回调函数为异步的?
我截图的那个 app.getUserInfo 里的例子应该确切的说是受 wx.getUserInfo 的回调 success 影响时可能会是异步的,而直接返回缓存中结果的是同步的方式,能这样理解的吧?
首先,是否异步,取决于函数的具体实现方式,比如 wx.login 和 wx.getUserInfo 就是异步的,而你的 app.getUserInfo 有时表现为异步、有时表现为同步。
其次,回调函数典型的应用场景就是用于接收异步操作的结果,但也不总是这样,比如 Array.forEach() 这个函数也是以一个回调函数为入口参数,但它是同步执行的。
是js里这种调用wx.login的函数,里面的sucess或fail这类回调都是异步的,还是说只是微信小程序里实现这些回调都是异步的? 我是JS萌新,求教。
简单一点问就是:
问题1: 回调过程是异步的,能这样理解吗?
问题2:微信小程序的回调是异步的? 还是js的回调是异步的? 还是仅限于部分微信小程序接口里的回调是异步的?
我在官方API介绍里没有找到关于wx.login是异步的说明。
这个函数内部是做了缓存的,第一次调用的时候,会去调用 wx.login/wx.getUserInfo 以获取数据,这是个异步过程,函数先返回,然后在将来的某个时间会在 success 里面调用传入的回调函数。第二次调用的时候,因为有了缓存,直接调用传入的回调函数,然后再返回。
官方的SAMPLE代码。
还是不清楚什么原因。
还是读一下你自己写的 app.getUserInfo 代码吧,应该就清楚了。