javascript 任务主要分为同步任务和异步任务

同步任务直接在主线程(主任务栈执行)

异步任务会被放入事件队列 Event Queue

异步任务会被事件队列的机制协调

主线程任务执行完毕后 到任务队列获取到相应任务推入主线程执行   如此循环往复就是事件循环 Event Loop

 

执行完当前主线程任务后,检查事件队列是否有微任务

如果有微任务则执行完所有微任务,然后执行一个宏任务,执行完一个宏任务后在检查是否有微任务

如果没有微任务,则执行一个宏任务,执行完一个宏任务后在检查是否有微任务

 

宏任务分类:

主代码块、定时器、绑定的事件(UI交互事件)

微任务分类:

promise  process.nextTick()

posted on 2021-05-28 17:12  皮杰克  阅读(32)  评论(0编辑  收藏  举报