timers 执行setTimeout setInterval的回调函数
pending callbacks 执行延迟到下一个循环的I/O回调
idle, prepare 内部调用
poll 轮询新的I/O事件;执行I/O相关的回调(除seTimeout setInterval setImmediate 及连接关闭的回调如socket.on('close'),()=>{}),node在这个阶段会阻塞
check 检查阶段,执行setImmediate的回调
close callbacks 执行连接关闭的回调如socket.on('close',()=.{})
这是看到大部分文章的描述
我的疑问是,什么条件下才会进入close callbacks 阶段?
猜测:poll 轮训io事件队列,如果有就执行没有就检查有没有check回调,有就执行执setImmediate的回调没有就继续poll,在判断有没有timers队列,有就进入下一轮,就没啥都没有是不是就会关闭event loop,在关闭前处理一下 close callbacks的回调。