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

2021-02-13 01:20

阅读:483

标签: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


评论


亲,登录后才可以留言!