Stream在node.js中是一个抽象的接口,基于EventEmitter,也是一种Buffer的高级封装,用来处理流数据。流模块便是提供各种API让我们可以很简单的使用Stream。
流分为四种类型,如下所示:
Readable,可读流
Writable,可写流
Duplex,读写流
Transform,扩展的Duplex,可修改写入的数据
1、Readable可读流
通过stream.Readable可创建一个可读流,它有两种模式:暂停和流动。
在流动模式下,将自动从下游系统读取数据并使用data事件输出;暂停模式下,必须显示调用stream.read()
方法读取数据,并触发data事件。
所有的可读流最开始都是暂停模式,可以通过以下方法切换到流动模式:
监听'data'事件
调用
stream.resume()
方法调用
stream.pipe()
方法将数据输出到一个可写流Writable
同样地,也可以切换到暂停模式,有两种方法:
如果没有设置pipe目标,调用
stream.pause()
方法即可。如果设置了pipe目标,则需要移除所有的data监听和调用
延伸阅读
- ssh框架 2016-09-30
- 阿里移动安全 [无线安全]玩转无线电——不安全的蓝牙锁 2017-07-26
- 消息队列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 论文笔记【图片目标分割】 2017-07-26
- 词向量-LRWE模型-更好地识别反义词同义词 2017-07-26
- 从栈不平衡问题 理解 calling convention 2017-07-26
- php imagemagick 处理 图片剪切、压缩、合并、插入文本、背景色透明 2017-07-26
- Swift实现JSON转Model - HandyJSON使用讲解 2017-07-26
- 阿里移动安全 Android端恶意锁屏勒索应用分析 2017-07-26
- 集合结合数据结构来看看(二) 2017-07-26