我在gulpfile中有两个流。
const merge2 = require('merge2');
let stream1 = gulp.src('file1.txt');
let stream2 = gulp.src('file2.txt');
然后我将合并的流输出到目的地(有各种转换,为清楚起见省略了这些转换)。
let combined = ... \\ merge the streams, using one of the methods
\\ shown below. then,
combined.pipe(gulp.dest('build'));
我使用merge2
合并两个流。 API指定了两种方法:
// parallel
combined = merge2([stream1, stream2]);
或者,
// serial
combined = merge2(stream1, stream2);
串行和并行合并为我生成相同的输出。
据我所知,两种合并方法之间必须存在差异。我检查了Node.js's streams API和其他各种来源,但是,我找不到任何关于这两种方法差异的文档。
有人能让我知道流的并行与串行合并之间的区别吗?
答案 0 :(得分:1)
实际上,没有,没有区别。
如果您不提供数组,merge2
将自行完成,将非数组参数转换为数组。出于可用性原因,可能存在这种可能性。见第43行来源:
if (!Array.isArray(streams)) streams = [streams]
https://github.com/teambition/merge2/blob/master/index.js#L43