位置: 编程技术 - 正文

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
  • 抵税的税额怎么计算
  • 增值税普通发票有什么用
  • 增值税申报表附表二填表说明
  • 预计负债什么时候确认
  • 职工食堂操作流程图
  • 电脑添加小工具
  • dolby audio设置
  • 在win7中怎么安转只兼容win10的软件
  • 企业固定资产出售账务处理
  • 生产型企业原材料运费入库单怎么填
  • windows7旗舰版为什么很多东西打不开
  • 净亏损会影响所有者权益吗
  • php生成随机字母数字代码
  • php图文教程
  • 预缴所得税会计分录咋做
  • runas命令详解
  • 公司法人代表能考公务员吗
  • 搅拌机属于什么费用
  • 帝国cms采集发布的文章链接打不开
  • 计提工资包含个人扣款吗
  • 怎样根据税负率计算税额
  • 数据库双亲结点
  • 盘亏的设备要进仓库吗
  • 劳务派遣工资可以税前扣除吗
  • 应税销售额什么意思
  • 进项发票的作用
  • 可供出售金融资产新准则叫什么
  • 其他应收款如何计提坏账准备
  • 普通发票和增值发票的区别在哪里
  • Linux安装MySQL5.6.24使用文字说明
  • win8已共享但别电脑无权限
  • xp系统网络服务在哪开启
  • auepuc.exe是什么软件
  • visio.exe是什么进程
  • win7回收站路径在哪里
  • winxp系统设置密码
  • linux的sh
  • linux校验文件
  • win8c盘
  • win8怎么一开机就进入桌面
  • 旅游软件页面
  • 举例讲解水生花卉栽培管理
  • unity项目资源
  • python3解析json
  • jquery操作
  • js中refresh
  • jQuery ajax提交Form表单实例(附demo源码)
  • 电子发票未验真是假发票吗
  • 上海网上纳税申报流程
  • 个人所得税小孩上大学可以扣除吗
  • 税务函调回来几天可以退税
  • 小组长的职责及职责
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设