位置: 编程技术 - 正文

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年政策
  • 公司内帐和外账的区别
  • 跨年主营业务成本直接冲回可以吗
  • 计算本月应交增值税转账公式
  • 当月作废的专票需要开负数发票么
  • 对方跨行转账成功后我却没收到款还能追回来吗
  • 分公司可以合伙吗
  • 增值税税控系统的税务处理
  • 个人能去税务局开普票吗
  • 增值税专用发票电子版
  • 劳务费代驾计入什么科目?
  • 哪些进项税额不允许从销售额中抵扣?
  • 用企业资本金购物违法吗
  • 党费专用账户可以收取转账费用吗
  • 高新企业所得税税率10%
  • 以土地入股需要开发票吗
  • 钱已确定收不回怎么办
  • 付出去的款项退回怎么做账
  • 其他应收款怎么冲平
  • 出口退税是怎么退
  • 在电脑桌面上添加快捷程序
  • 补交以前年度的城建税会计分录
  • 个税返还会计政策
  • 外地企业预缴税款流程
  • thinkphp uuid
  • 蒙特勒和日内瓦的关系
  • 企业借给个人钱合法吗
  • php 自动化测试
  • 工行退款短信图片
  • 应收票据计提利息
  • 劳务费发票差额征税
  • 精选100个Python实战项目案例,送给缺乏实战经验的你
  • 外埠存款通过哪个会计账户核算?
  • 增值税申报表各栏怎么填
  • 职工薪资包括
  • 库存不多
  • 零申报企业所得税的资产总额怎么填写
  • 公积金个人缴纳和公司缴纳比例
  • 结转本年利润的摘要怎么写
  • 冲销以前年度多提税金
  • 管家婆软件如何做账?
  • 预收账款常见的问题
  • 费用科目可以在借方吗
  • 财政补助资金是什么意思
  • 盘亏存货可以转回来吗
  • 银行理财产品算银行存款吗
  • 普通发票记账联盖章了怎么办
  • 母公司与子公司的区别
  • 会计凭证装订的注意事项
  • 预收账款借方和贷方表示什么
  • bat windows
  • efi shell有什么用
  • linux中压缩文件
  • win1020h2版本要更新吗
  • win10在更新界面怎么办
  • WIN10系统中软件打开找不到网络共享盘
  • cocos creator 发布web
  • cocos2dx环境搭建
  • 自动化软件安装工具
  • jquery的点击事件怎么写
  • python中的字符串必须写在一对双引号中
  • 使用jquery实现的项目
  • javascript tab切换
  • js中bom是什么意思
  • 税务局上班周末上班吗
  • 云南税务局网上办税大厅登录入口官网
  • 税控盘丢失怎么写情况说明
  • 出口退的增值税怎么算
  • shell ftp -n
  • 部落冲突显示此不论描述无效
  • 地税服务费算什么科目
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设