浏览器与node将异步任务分为宏任务与微任务
首先执行js主线程中得代码,将对应的宏任务与微任务分别放入宏任务队列与微任务队列
- js主线程代码执行完毕
- 清空微任务队列
- 取出第一个宏任务执行,
重复以上操作后将宏任务队列中完成的回调一次取出执行。
node中的宏任务队列为:
timers => 定时器相关
pending callbacks => 上一次IO操作相关
内部调用的宏任务栈
poll 本次执行调用的IO操作
check 本阶段执行setImmdiate
close callbacks 用于关闭一些其他操作



