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() | 将数据写入流 |