Node eventloop小记

222 阅读1分钟

一.node四种定时器

  1. setTimeout();
  2. setInterval();
  3. setImmediate();
  4. process.nextTick(): 异步任务中最快执行

二.同步任务,异步任务

  1. 同步任务总是比异步任务更早执行。

三.本轮循环,次轮循环

  1. 异步任务:本轮循环的异步任务和次轮循环的异步任务;
  2. 本轮循环:process.nextTick(),Promise;
    次轮循环:setTimeout,setInterval,setImmediate;
  3. 本轮循环一定早于次轮循环执行。

 四.微任务

  1. Promise回调函数属于微任务,且属于本轮循环

五.事件循环六个阶段(顺序执行)

  1. timers: setTimeout(),setInterval();
  2. I/O callbacks
  3. idle,prepare
  4. poll: 轮询时间,eg:服务器的回应,用户移动鼠标
  5. check: setImmediate()
  6. close,callbacks: 执行关闭请求的回调函数,eg:socket.on('close', ...)