一、node中的异步API
1. 定时器(Time 队列)
setTimeout
setInterval
2. I/O 操作(Poll 队列)
文件读写
数据哭操作
网络请求
3. node独有(Check 队列)
setImmediate
process.nextTick
会在事件循环启动之前执行
NODE 事件循环执行顺序
- 同步代码
process.nextTick
中的回调- promise(微任务)
- 启动事件循环
- 检查timer queue, 达到调用时间是,将timer回调放入调用栈执行
- 检查poll queue, 执行 poll 回调,阻塞检查 timer queue 和 check queue
- 检查check queue, 执行check回调