Javascript Node.js创建一个直通流,该流在接收到结束事件后读入文件
我想为这种用例创建一个流:Javascript Node.js创建一个直通流,该流在接收到结束事件后读入文件,javascript,node.js,Javascript,Node.js,我想为这种用例创建一个流: foo() .pipe(readFileIn('file.name')) .pipe(bar()); foo是一个函数,它将文件写入磁盘,完成后发出“end”。一旦foo的流完成,我需要将该文件作为流从磁盘读入,这样我就可以将它导入下一个处理程序 如何创建执行此操作的流?您可以将管道()数据同时发送到foo和bar,只要您在结束事件之前管道()。e、 g var fs = require('fs'); var myDataSource = some.readabl
foo()
.pipe(readFileIn('file.name'))
.pipe(bar());
foo
是一个函数,它将文件写入磁盘,完成后发出“end”
。一旦foo
的流完成,我需要将该文件作为流从磁盘读入,这样我就可以将它导入下一个处理程序
如何创建执行此操作的流?您可以将管道()
数据同时发送到foo
和bar
,只要您在结束
事件之前管道()
。e、 g
var fs = require('fs');
var myDataSource = some.readable.stream();
var foo = fs.createWriteStream('foo.txt');
var bar = some.writable.stream();
foo.on('finish', function () {
console.log('file written to disk');
});
myDataSource.pipe(foo);
myDataSource.pipe(bar);
我认为这不符合我的用例。我想要一个可以通过管道进出的直通流,它只有在我收到第一个流的“end”
事件后才能读取文件。因此,在我上面的例子中,我试图弄清楚如何实现readFileIn
当然,但是为什么要等待finish
事件呢?因为我试图读入的文件在foo
finishesIffoo
生成文件内容之前不存在,您可以pipe()
将这些内容直接发送到栏
,同时也将管道()
发送到磁盘上的文件。我想您需要澄清文件内容的来源。因此我无法控制foo
,它只是我正在使用的一个API。不幸的是,它不会发出带有文件内容的“data”
事件,但会发出“end”
事件。我所知道的只是文件创建的时间和保存到的位置。