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 模块。
否则,在应用程序中包含 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() | 向流写入数据 |