码迷,mamicode.com
首页 > Web开发 > 详细

JS事件循环机制(宏任务,微任务)

时间:2020-06-01 12:03:28      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:nod   title   blank   lan   rip   nextTick   tin   script   sim   

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()是微任务,其他的是宏任务;

 

参考文章:

【朴灵评注】JavaScript 运行机制详解:再谈Event Loop

JS事件循环机制(宏任务,微任务)

标签:nod   title   blank   lan   rip   nextTick   tin   script   sim   

原文地址:https://www.cnblogs.com/FrankieWei/p/13024032.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!