NodeJS定时器与事件循环

栏目: Node.js · 发布时间: 6年前

内容简介:为了协调异步任务,使任务按时间顺序执行,NodeJS提供了四种定时器;其中而

为了协调异步任务,使任务按时间顺序执行,NodeJS提供了四种定时器;

  • setTimeout()
  • setInterval()
  • setImmediate()
  • process.nextTick()

其中 setTimeoutsetInterval 存在于JS语言标准,

setImmediateprocess.nextTick 则为NodeJS独有;

任务的执行顺序

  • 同步 任务先于 异步 任务执行
  • 本轮 循环先于 次轮 循环执行

本轮事件循环

本轮循环中存在两个队列:

  1. nextTick队列(nextTickQueue)
  2. 微任务队列(microTaskQueue)

在本轮循环中 process.nextTick 是优先执行的,所有的 nextTick 定时器执行完成后,

才轮到微任务队列定时器执行,常见的 Promise 就属于微任务定时器;

次轮事件循环

事件循环的六个阶段:

timers阶段
i/o callback阶段
idle、prepare阶段
poll阶段
check阶段
close callback阶段

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

互联网+供应链金融创新

互联网+供应链金融创新

宝象金融研究院、零壹研究院 / 电子工业出版社 / 2016-6 / 65.00

供应链金融是一种带有模式创新的金融服务,它真正渗透到了产业运行的全过程。然而,如何探索这种模式的规律?特别是在"互联网+”时代,不同的产业主体如何更好地利用供应链金融促进产业的发展,成为了众多企业关注的话题。零壹财经攥写的《互联网+供应链金融创新》正是立足于这一点,全面总结反映了中国各行各业,以及不同的经营主体如何在立足产业运营的基础上,通过供应链金融来促进产业的发展具有很好的借鉴意义,其丰富的案......一起来看看 《互联网+供应链金融创新》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

随机密码生成器
随机密码生成器

多种字符组合密码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换