node.js – 连接两个(或n)个流

> 2个流:

给出可读的streams stream1和stream2,获得包含stream1和stream2的流的连贯(简明)方法是什么?

我不能做stream1.pipe(outStream); stream2.pipe(outStream),因为流内容混在一起.
n流:

给出一个EventEmitter,它发出不确定数量的流,例如

eventEmitter.emit('stream',stream1)
eventEmitter.emit('stream',stream2)
eventEmitter.emit('stream',stream3)
...
eventEmitter.emit('end')

什么是惯用的(简洁的)方式来获取流与所有流连接在一起?

解决方法

combined-stream包连接流.示例来自README:

var CombinedStream = require('combined-stream');
var fs = require('fs');

var combinedStream = CombinedStream.create();
combinedStream.append(fs.createReadStream('file1.txt'));
combinedStream.append(fs.createReadStream('file2.txt'));

combinedStream.pipe(fs.createWriteStream('combined.txt'));

我相信你必须一次附加所有的流.如果队列为空,则CombinedStream将自动结束.见issue #5.

stream-stream库是一个具有明确的.end的替代方案,但它不太受欢迎,并且可能没有经过很好的测试.它使用了节点0.10的streams2 API(参见this discussion).

相关文章

这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...