浏览器的event loop 是当执行栈 遇到异步任务将其放在异步队列中 异步队列分为两种 宏任务和微任务 当执行栈为空时,首先会将微任务全部取出来执行,此时微任务进入执行栈 当执行栈为空,且微任务为空时,从宏任务中取出最早的一个任务,放入执行栈
node的event loop 分为多个层。 timer:处理setTimeout的回调 I/O:处理外部的事件 poll:如果没有timer要处理,会在这里等待新poll check: setImmediate: