事件循环(event Loop)

JS的运行机制:EventLoop(事件循环)

事件循环中的宏任务队列和微任务队列

Event Loop执行顺序:

首先执行同步代码,这属于宏任务

当执行完所有同步代码后,执行栈为空,查询是否有异步代码需要执行

执行完所有微任务

党执行完所有微任务后,如有必要渲染页面

然后开始下一轮EventLoop,执行宏任务中的异步代码

啰嗦版:

因为js是单线程运行的,在代码执行时,

通过将不同函数的执行上下文压入栈中来保证代码的有序执行。

在执行同步代码时,如果遇到异步事件,JS引擎并不会一直等待其返回结果,而是会将这个事件挂起,继续执行栈中的其它任务

当异步事件执行完毕后,再将异步事件对应的回调加入到一个任务队列中等待执行。

任务队列可以分为宏任务队列和微任务队

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

前端面试题 文章被收录于专栏

前端面试的一些常问问题、问题的具体实现(可直接运行)以及底层原理

全部评论

相关推荐

11-04 19:05
已编辑
东莞城市学院 单片机
AK耐面王一节更比六...:实习2年,一眨眼35了
点赞 评论 收藏
分享
评论
点赞
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务