如何确保JavaScript的执行顺序

 我来答
春树拜
2016-01-22 · 超过35用户采纳过TA的回答
知道答主
回答量:47
采纳率:0%
帮助的人:98.1万
展开全部
javascript代码和其他服务器端代码一样,都是按顺序执行的。

但是这里有几个代码跳转的地方:
1、setTimeout / setInterval
这两个函数中的代码是定时执行,不在顺序中;
2、ajax
Ajax一般来说,在 成功/失败 获取服务器端数据后会有js代码来处理接受到的数据;ajax有两种情况,分别是同步和异步;同步是指的,js在发送ajax请求后阻塞代码执行,一直到ajax获取到服务器返回数据,然后继续按代码顺序执行,也就是说,这种情况下,ajax后面的代码中可以正常使用ajax返回的数据;异步是指ajax请求发送后,代码跳过ajax,继续执行其后的代码,ajax 响应代码在ajax获取数据后执行,也就是说,这种情况下,ajax后面的代码中不能确定ajax的状态,也不可以ajax返回的数据。
逆长小白菜
2016-01-22 · TA获得超过2万个赞
知道大有可为答主
回答量:1.7万
采纳率:94%
帮助的人:7525万
展开全部
Javascript是单线程语言,正常情况下,代码都是向下执行的。
但是,一旦接触到异步领域,就发现要把控Javascript相比其他语言是麻烦了不少。在浏览器端常见的就是DOM事件和Ajax。而服务器端则是各种异步IO。实践中,服务器NodeJs会有更多异步流程需要处理。
不知道提问者是问浏览器端还是服务器NodeJs端的,不过核心解决方案都是让你的异步api支持Promise写法,将嵌套的回调舒展成线性。后续也可以使用co或者async/await来同步化你的异步代码。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式