【发布时间】:2016-02-24 15:13:13
【问题描述】:
我想以一种很好的方式有条件地管道流。我想要实现的行为如下:
if (someBoolean) {
stream = fs
.createReadStream(filepath)
.pipe(decodeStream(someOptions))
.pipe(writeStream);
} else {
stream = fs
.createReadStream(filepath)
.pipe(writeStream);
}
所以我准备了所有的流,如果someBoolean 为真,我想在管道中添加一个额外的流。
然后我以为我找到了detour-stream 的解决方案,但不幸的是没有设法设置它。我使用类似于gulp-if 的符号,因为这是作为灵感提到的:
var detour = require('detour-stream');
stream = fs
.createReadStream(filepath)
.detour(someBoolean, decodeStream(someOptions))
.pipe(writeStream);
但不幸的是,这只会导致错误:
.detour(someBoolean, decodeStream(someOptions))
^
TypeError: undefined is not a function
有什么想法吗?
【问题讨论】: