Node.js Stream 模块

❮ 内置模块


实例

写入可写流:

var http = require('http');

http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/html'});
  res.write('Hello World!');
  res.end();
}).listen(8080);
运行实例 »

定义和用法

Stream 模块提供了一种处理流数据的方法。

有两种类型的流:可读和可写。

可读流的一个例子是您在使用 http.createServer() 方法时获得的 response 对象。

可写流的一个例子是您在使用 http.createServer() 方法时获得的 request 对象。


语法

有些方法返回一个可读/可写的流对象,比如http.createServer(),如果是这样,你不必包含流模块。

否则,在应用程序中包含 Stream 模块的语法:

var stream = require('stream');

Readable Stream 属性和方法

方法 描述
isPaused() 如果状态为 则返回true 可读流被暂停,否则为假
pause() 暂停可读流
pipe() 把可读流变成指定的可写流
read() 返回可读流的指定部分
resume() 恢复暂停的流
setEncoding() 设置可读流的字符编码
unpipe() 停止将可读流转换为可写流,由 pipe() 方法引起
unshift() 将一些指定的数据推回内部缓冲区
wrap() 帮助读取旧 Node.js 版本制作的流

Writable Stream 属性和方法

方法 描述
cork() 停止可写流,所有写入的数据都会缓存在内存中
end() 结束可写流
setDefaultEncoding() 设置可写流的编码
uncork() 刷新所有自调用 cork() 方法后缓冲的数据
write() 将数据写入流

❮ 内置模块