位置: 编程技术 - 正文

Node.js中流(stream)的使用方法示例(node stream(流)有哪些?)

编辑:rootadmin

推荐整理分享Node.js中流(stream)的使用方法示例(node stream(流)有哪些?),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:node.js的流的主要作用,node.js stream,node.js的流的主要作用,node stream(流)有哪些?,node.js的流的作用,node.js的流的主要作用,node.js的流的主要作用,node.js的流的作用,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

本文主要给大家介绍了关于Node.js 流(stream)的使用方法,分享出来供大家参考学习,下面话不多说,来一起看看详细的介绍:

流是基于事件的API,用于管理和处理数据,而且有不错的效率.借助事件和非阻塞I/O库,流模块允许在其可用的时候动态处理,在其不需要的时候释放掉.

使用流的好处

举一个读取文件的例子:

使用fs.readFileSync同步读取一个文件,程序会被阻塞,所有的数据都会被读取到内存中.

换用fs.readFile读取文件,程序不会被阻塞,但是所有的数据依旧会被一次性全部被读取到内存中.

当处理大文件压缩,归档,媒体文件和巨大的日志文件的时候,内存使用就成了问题,在这种情况下,流的优势就体现出来了.

流被设计为异步的方式.相比将剩余的文件数据一次性读进内存,还是值得读取一个缓冲区,期望的操作将会被执行,而且结果会被写到输出流.

流的分类

stream.Readable---用于在I/O上获取数据 stream.Writable---用于在输出的目标写入数据 stream.Duplex---一个可读可写的流,例如网络连接 stream.Transform---一个会以某种方式修改数据的双工流

创建一个可读流

Node.js中流(stream)的使用方法示例(node stream(流)有哪些?)

方法一

方法二

方法三

可读流的一些概念

可读流是 对提供数据的源头的抽象

可读流的实例

http responses,on the client http requests, on the server fs read stream zlib streams crypto streams TCP sockets child process stdout and stderr process.stdin

可读流的模式

可读流有两种工作模式:flowing和paused.

在flowing模式下,可读流自动从系统底层读取数据,并通过EventEmitter接口的事件尽快将数据提供给应用.

可读流在创建的时候都是处在paused模式.

可读流可以在两种模式下切换.

处于paused模式可读流,可以通过下面三种途径切换到flowing模式:

监听'data'事件. 调用stream.resume()方法. 调用stream.pipe()方法将数据发送到Writable

处于flowing模式可读流,可以通过下面两种途径切换到paused模式:

如果不存在管道目标,可以通过调用stream.pause()方法实现 如果存在管道目标,可以通过取消'data'事件监听,并调用stream.unpipe()方法移除所有管道来实现

可读流事件

可读流提供了以下事件:

'close'事件,事件将在流或底层资源关闭后触发,但不是所有的流都会触发该事件. 'data'事件,data事件将会在流将数据传递给消费者时触发.当流转换到flowing模式时会触发该事件. 'end'事件,end事件只有在数据被完全消费后才会触发. 'error'事件,error事件会在底层系统内部出错从而不能产生数据,或当流的实现试图传递错误数据时发生. 'readble'事件,readable事件将在流中有数据可供读取时触发.

总结

标签: node stream(流)有哪些?

本文链接地址:https://www.jiuchutong.com/biancheng/380888.html 转载请保留说明!

上一篇:详解基于Node.js的微信JS-SDK后端接口实现代码(node.js的理解)

下一篇:node.js express中app.param的用法详解

  • 增值税计入成本吗?
  • 买车库需要交税吗
  • 因租赁形成的使用权资产
  • 纳税申报操作流程
  • 企业增资后需要交什么税
  • 非生产性费用不应计入产品成本
  • 已勾选未认证什么意思
  • 买金税盘发票能全额抵进项税吗
  • 银行的划分标准
  • 出口没做免税申报怎样补税?
  • 减免税费期末如何结转
  • 拆迁房视同销售成本可以抵减吗?
  • 下脚料回收
  • 航天信息服务费的会计分录
  • 子公司给的股利用交税吗
  • 股权转让收到钱会计分录
  • 个人所得税成本费用怎么算
  • 小微企业文化事业建设费是否可以享受减免
  • 期货手续费会计分录
  • 企业在弥补亏损和提取法定盈余公积前一般不得分配利润
  • 发生坏账计入
  • 客户申请退款商家拒绝退货退款会有什么效果
  • php字段
  • php yii框架
  • 工程完工后有质量问题能解除合同吗
  • 金银首饰零售业必须为一般纳税人吗
  • phpstudy怎么配置php环境
  • vue 登录模板
  • 应收账款为负数正常吗为什么
  • vue开发环境配置
  • thinkphp函数有哪些
  • laravel 自定义guard
  • 非财政补助结转和非财政补助结余的区别
  • 发现以前年度的账错误
  • 使用正则表达式提取文本(888)555
  • 车间管理人员差旅费
  • 坏账准备的账务处理T型
  • 购买其他权益工具投资时发生的交易费用
  • 交强险还用开车去吗
  • 账面价值低于可抵税收
  • 共管账户取钱需要多久到账
  • 子公司计提的盈余公积合并抵消
  • 如何调整以前年度库存
  • 没有发票会怎样
  • 公司法人转账到公司账户
  • 备用金怎么计入明细账
  • 固定资产更换配件 资本化标准
  • 企业收到微信和企业微信
  • 员工出差的餐费可以抵扣吗
  • 股东预分配利润后如何返还
  • 把excel表格里的文字复制到word
  • mysql8.0 主从
  • win8应用程序无法正常启动
  • 苹果Mac系统怎么切换输入法
  • macbook调节音量怎么没反应
  • linux AS3 oracle9i 安装指南
  • ssd固态硬盘内部结构图
  • kill强制结束进程的参数
  • 进程 cmd
  • win10系统家庭组如何关闭家庭组访问用户名密码
  • win7电脑显示屏显示不全怎么调整
  • Win10打开或关闭系统图标里开怎么灰色的
  • macbook core2
  • redhat linux安装
  • windows8无法安装wps
  • android app架构设计
  • dos所有命令的命令格式
  • 让一切停留在最美好的时光
  • Extjs 4.x 得到form CheckBox 复选框的值
  • android Unable to execute dex问题的解决
  • windows批量处理命令
  • css如何控制图片位置
  • cmd命令基础
  • Node.js中的核心模块包括哪些内容?
  • Unity3D游戏开发标准教程
  • Unity for Absolute Beginners(三)
  • python3.5怎么保存
  • 屏幕模式自适应模式
  • 北京税务局公众平台官网
  • 上海社保卡原始密码是啥
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设