位置: 编程技术 - 正文

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

  • 生产成本和制造费用的账务处理
  • 商务费用报销一般有哪些流程
  • 各行业的利润率表
  • 排污费用计入什么会计科
  • 网银制单了没有审核有影响吗
  • 收入与成本不配合
  • 开票软件服务费全额抵扣怎么做账
  • 小规模收到房租专票进项做账分录
  • 增值税与普通发票的关系
  • 专项产资金支出要怎么做分录?
  • 增值税视同销售包括哪些情况?
  • 如何计算企业当年利润
  • 营业外收入个税手续费返还
  • 投资利息收入要交所得税吗
  • 不征税的政府补助如何开票
  • 小规模纳税人财务报表是按季还是按月申报
  • 宽带合同要交印花税吗
  • 处理固定资产账务处理税率
  • 装修工程款如何记账
  • 如何用python查数据
  • xp系统怎么取消用户登录
  • 企业对外股权投资涉及税收
  • 种植业土地租赁计入哪个科目
  • 月末计提固定资产折旧时,应借记
  • thinkphp怎么部署
  • php循环语句
  • 企业以租代购的利弊分析
  • 公司收到供应商的律师函
  • docker 使用教程
  • 委托去银行办理业务的委托书
  • 无形资产出租属于处置吗
  • vue click触发两次
  • 员工交通补贴需要发票吗
  • 预付购买材料款属于什么会计科目
  • linux+php
  • 原生js实现promise.all
  • 建筑业异地预缴增值税
  • 分享2款CSS3母亲节主题寄语文字动画特效
  • thinkphp框架结构
  • 关于酒店采购
  • 无追索权有哪些类型
  • 个人发票抬头怎么弄
  • vscode主题插件护眼
  • 织梦如何添加浮动广告
  • 帝国cms建站教程
  • 印花税漏交了有什么影响
  • 材料成本差异的借方表示什么
  • 子公司向母公司交利润 需要纳税吗
  • 行政单位拨出经费的规定
  • 印花税每月未计提怎么办
  • 谈一谈企业应如何做才能更好地、有效地激励员工
  • 住宿费用专票可以抵扣吗
  • 营改增现代服务中合同能源管理服务
  • 企业转让固定资产属于什么收入
  • 房地产企业如何结转成本
  • 发票只能用一次吗
  • 个人社保缴纳会不会自动扣款
  • 小微企业和小规模纳税人的区别
  • 民营企业固定资产管理规定
  • sqlserver升级到2016
  • mysql里删除表里的数据
  • mac怎样解压rar
  • windows XP+Fedora 8+solaris 11三系统安装攻略
  • windowsxp关闭窗口操作方法有哪些
  • 如何在mac中安装windows
  • win8设备安装
  • 【Cocso2d-x Lua笔记五】quick中的display
  • node.js连接mysql的数据怎么可视化
  • android 自定义
  • vtune自动安装脚本分享
  • css怎么控制图片位置
  • node.js详解
  • Android网络(4):HttpClient必经之路----使用线程安全的单例模式HttpClient,及HttpClient和Application的融合
  • 安卓hook注入工具
  • 河南税务报到
  • 小规模纳税人开3%专票怎么交税
  • tbc法力陵墓入口
  • 收入较去年同期增长怎么算
  • 交管123发票审核
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设