关于小程序请求同步功能,有哪些总结可以分享?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1913个文字,预计阅读时间需要8分钟。
在JavaScript中,提供了异步特性,避免同步操作对程序执行造成阻塞。例如,在浏览器页面程序中,若一段同步代码执行时间过长(如大循环操作),会导致页面冻结。
在JavaScript中,提供了一些异步特性,因为同步操作会对程序的执行进行阻塞处理。比如在浏览器页面程序中,如果一段同步的代码需要执行很长时间(比如一个很大的循环操作),则页面会产生卡死的现象。
异步为程序提供了性能和体验上的益处,比如可以将代码放到setTimeout()中执行;或者在网页中,我们使用Ajax的方式向服务器端做异步数据请求。这些异步的代码不会阻塞当前的界面主进程,界面还是可以灵活的进行操作,等到异步代码执行完成,再做相应的处理。
举一个例子:在小程序中,我们获取到后台的数据使用时间往往是不定的,这个时候:即使你在前面写的代码,也可能会在后面执行。
function getAccountInfo(callback, errorCallback) { wx.request({ url: '/accounts/12345', success: function (res) { console("1") }, fail: function (res) { //... errorCallback(data); } }); console.log("2") }
也就是存在2输出在1前面的可能。这种策略提升页面加载速度。能很好的提高用户体验感。
但是请看下面的情景:
小程序是提倡不获取用户信息就能使用的,但是在特定的情况下我们必须要拿到用户的一些数据,比如名称,图像链接等等。在这种情况下,我们首先获取用户的code,根据code去后台获取用户的openid或者unionid。拿到这些数据之后我们才能确定用户的身份,然后再去发新的请求(这些请求往往是需要用户身份凭证的,比如Token)。
上面的叙述中,我们发了三次请求,第一次获取code,第二次获取openID或unionid,第三次根据身份信息执行新的请求。
本文共计1913个文字,预计阅读时间需要8分钟。
在JavaScript中,提供了异步特性,避免同步操作对程序执行造成阻塞。例如,在浏览器页面程序中,若一段同步代码执行时间过长(如大循环操作),会导致页面冻结。
在JavaScript中,提供了一些异步特性,因为同步操作会对程序的执行进行阻塞处理。比如在浏览器页面程序中,如果一段同步的代码需要执行很长时间(比如一个很大的循环操作),则页面会产生卡死的现象。
异步为程序提供了性能和体验上的益处,比如可以将代码放到setTimeout()中执行;或者在网页中,我们使用Ajax的方式向服务器端做异步数据请求。这些异步的代码不会阻塞当前的界面主进程,界面还是可以灵活的进行操作,等到异步代码执行完成,再做相应的处理。
举一个例子:在小程序中,我们获取到后台的数据使用时间往往是不定的,这个时候:即使你在前面写的代码,也可能会在后面执行。
function getAccountInfo(callback, errorCallback) { wx.request({ url: '/accounts/12345', success: function (res) { console("1") }, fail: function (res) { //... errorCallback(data); } }); console.log("2") }
也就是存在2输出在1前面的可能。这种策略提升页面加载速度。能很好的提高用户体验感。
但是请看下面的情景:
小程序是提倡不获取用户信息就能使用的,但是在特定的情况下我们必须要拿到用户的一些数据,比如名称,图像链接等等。在这种情况下,我们首先获取用户的code,根据code去后台获取用户的openid或者unionid。拿到这些数据之后我们才能确定用户的身份,然后再去发新的请求(这些请求往往是需要用户身份凭证的,比如Token)。
上面的叙述中,我们发了三次请求,第一次获取code,第二次获取openID或unionid,第三次根据身份信息执行新的请求。

