位置: 编程技术 - 正文

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的用法详解

  • 收到其他与经营活动有关的现金是什么意思
  • 取得的证券投资业绩
  • 小型微利企业税率2023
  • 纳税人与负税人一致的是
  • 天然气管道维修收费标准
  • 在建工程是负数时应该怎么处理
  • 金税盘问题
  • 怎么强调各个分公司之间无直接联系
  • 普通增值税发票税号
  • 跨区税源登记是指
  • 税务登记投资方经济性质
  • 营业执照办出后多久生效
  • 房地产开发企业预缴增值税
  • 外商投资企业与内资合资是国企吗
  • 企业股权资本的组成
  • 餐饮行业打折部门是什么
  • 进口代收业务
  • 支付资金占用费怎么记账进项税
  • 开具正数发票中如何体现扣款
  • 小规模纳税人按什么标准纳税
  • 一般纳税人专业分包税率
  • 2019一般纳税人租赁费税率
  • 应补退所得税额是什么
  • 个人其他应收款在贷方表示什么
  • 公司贷款收入如何计算
  • 库存现金与实际不符怎么调
  • 小额纳税人增值税专用发票税率1%
  • 劳务报酬怎么申报个税电子税务
  • 主板外部接口是用来连接
  • 以前年度损益调整属于哪类科目
  • 银行承兑汇票有纸质的吗
  • 建筑业会计需要做到哪些
  • 无形资产处置计入哪里
  • php字符串比较大小
  • php实现多条件查询
  • 安装人员食宿费谁承担
  • 自制半成品属于原材料还是库存商品
  • 无票收入需要开票吗
  • 设备租赁费怎么入账
  • 社保断交一个月但是后面正常缴费
  • 销售收入是不是销售额
  • 公对公的税票是怎么个流程
  • mongodb数据类型有哪些
  • 自定义函数是啥
  • 现金销售收入是什么意思
  • 房地产个税是什么意思
  • 住房租金专项附加扣除
  • 城市基础设施配套费征收管理规定
  • 房产税应纳税额计算例题
  • 补助资金如何做账
  • 后续加工环节的成本利润
  • 补开以前的发票可以抵企业所得税吗?
  • 场地租赁费属于劳务还是服务
  • 对于银行已入账企业未入账的未达账项应该
  • 个人挂靠公司承接工程如何做会计处理?
  • 维保业务怎么开展
  • 记账凭证账务处理程序的特点是直接根据每张
  • 哪些可以做进项税
  • 英特尔双核cpu
  • freebsd11.3安装教程
  • linux搭建l2tp服务器
  • centos如何查询ip
  • linux extern关键字
  • linux服务器的mac地址怎么查
  • win8如何设置默认输入法
  • win10安装的中文包在哪
  • linux更新配置
  • win10安装grads
  • 简述js和jquery的关系
  • nodejs调用go
  • 支持google play
  • unity3d ik
  • javascript中math.ceil
  • shell脚本介绍
  • css@import
  • Node.js中的什么模块是用于处理文件和目录的
  • div怎么求
  • jquery命名空间
  • 北京朝阳区电话区号是多少?
  • 资源税是地方税吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设