JS事件循环机制(宏任务,微任务)
Posted 布条麻绳
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS事件循环机制(宏任务,微任务)相关的知识,希望对你有一定的参考价值。
1: 宏任务:包括整体js代码(script标签下的同步任务代码),setTimeout,setInterval;
2: 微任务:Promise.then(),process.nextTick(Node.js);
3: JS 事件循环机制(event loop)
(1) 首先执行宏任务,遇到setTimeout, setInterval,放到宏任务队列中;
(2) 遇到微任务(promise.then),放到微任务队列中;
(3)本轮宏任务执行结束,查看这轮是否有微任务,有就去执行;
(4)本轮的event loop执行结束;
(5)执行下一轮event loop,首先执行宏任务,这时宏任务队列中有seiTimeout, setInterval,先执行;然后在开始第一步的执行。
Notes:
promise中只有promise.then()是微任务,其他的是宏任务;
参考文章:
以上是关于JS事件循环机制(宏任务,微任务)的主要内容,如果未能解决你的问题,请参考以下文章
js的事件循环机制:同步与异步任务(setTimeout,setInterval)宏任务,微任务(Promise,process.nextTick)
js运行机制 (包括宏任务微任务,同步异步,事件循环机制Event Loop)面试常问
JavaScipt 中的事件循环机制,以及微任务 和宏任务的概念