Node.js documentation说,readable.pipe(destination[, options])
'返回对目标流的引用,可以设置
加上管道流的连锁店。
documentation for stream.Writable并未提及方法pipe
,因此该方法似乎无法使用。
但如果该方法不可用,如何在返回的pipe
上调用Writeable
- 方法怎么办?
示例:
|-> returns a Writable
|
r.pipe(z).pipe(w);
|
|-> How is the chained pipe available here?
我是否忽略了这一点,或者文档遗漏了它?
答案 0 :(得分:1)
如果您继续向下滚动同一页面,则会找到Duplex and Transform Streams的文档。 stream.Duplex
和stream.Transform
都实现了stream.Readable
和stream.Writable
接口。您可以使用它们来链接.pipe
次来电。事实上,它们是出于这个目的存在的
一个常见的例子是阅读,解压缩和编写文件......
const gzip = zlib.createGzip();
const fs = require('fs');
const inp = fs.createReadStream('input.txt');
const out = fs.createWriteStream('input.txt.gz');
inp.pipe(gzip).pipe(out);
在此示例中,zlib.createGzip()
返回Transform
个流。您可以通过继承stream.Tranform