Node.js 流 模块
示例
写入可写流
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');
可读流属性和方法
方法 | 描述 |
---|---|
isPaused() | 如果可读流的状态为暂停,则返回 true,否则返回 false |
pause() | 暂停可读流 |
pipe() | 将可读流转换为指定的可写流 |
read() | 返回可读流的指定部分 |
resume() | 恢复暂停的流 |
setEncoding() | 设置可读流的字符编码 |
unpipe() | 停止将可读流转换为可写流,由 pipe() 方法引起 |
unshift() | 将一些指定的数据推回内部缓冲区 |
wrap() | 帮助读取旧版 Node.js 版本创建的流 |
可写流属性和方法
方法 | 描述 |
---|---|
cork() | 停止可写流,所有写入的数据都将缓存在内存中 |
end() | 结束可写流 |
setDefaultEncoding() | 设置可写流的编码 |
uncork() | 刷新自调用 cork() 方法以来已缓冲的所有数据 |
write() | 将数据写入流 |