宏任务和微任务

宏任务:

当前调用栈中执行的代码为宏任务;(主代码块,定时器等)

微任务

当前(此次事件循环中)宏任务执行完,在下一个宏任务开始之前需要执行的任务,可以理解为回调事件

运行机制

1,有微则微,无微则宏;
2,在执行栈中执行一个宏任务;
3,在执行过程中,遇到微任务;将微任务添加到微任务队列中;
4,当前宏任务执行完毕,立即执行微任务队列中的任务;
5,当前微任务队列中的任务执行完毕,检查渲染,GUI线程接管渲染;
6,渲染完毕后,js线程接管,开启下一次事件循环,执行下一次宏任务(事件队列中取);

宏任务微任务都有哪些?

1:宏任务:setTimeout,setInterval,I/0,setImmediate,requestAnimationFrame,
2:微任务:nextTick,ajax,async,await,process,promise的.then, .catch, .finally 方法;
 process是一个全局对象,是当前node的进程对象;
 nextTick是一个异步函数,会在执行栈之后,异步任务之前;
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容