Javascript 当流打开时,如何保持节点应用程序运行?

Javascript 当流打开时,如何保持节点应用程序运行?,javascript,node.js,stream,Javascript,Node.js,Stream,我想知道在可读流关闭之前保持节点应用程序运行的好解决方案是什么。在一个简单的例子中,例如: var tcpVideoStream = new TcpVideoStream(options); var writeStream = fs.createWriteStream(options.fileName); tcpVideoStream.pipe(writeStream); 如何保持我的应用程序运行,以便它继续将流数据写入文件,直到可读流(在本例中为tcpVideoStream)关闭?i、 e.

我想知道在可读流关闭之前保持节点应用程序运行的好解决方案是什么。在一个简单的例子中,例如:

var tcpVideoStream = new TcpVideoStream(options);
var writeStream = fs.createWriteStream(options.fileName);
tcpVideoStream.pipe(writeStream);
如何保持我的应用程序运行,以便它继续将流数据写入文件,直到可读流(在本例中为tcpVideoStream)关闭?i、 e.发出“结束”或“结束”


谢谢

在数据完全通过管道传输之前,应用程序不会关闭。只有当可读流仍然存在时,应用程序才会关闭,例如当没有
数据
事件侦听器时,或者您尚未对其调用
resume()
(如果它已暂停)。使用
pipe()

例如,这将在没有输出的情况下退出

var fs = require('fs');

var read = fs.createReadStream('./src');
var write = fs.createWriteStream('./dest');
read.pause();

read.on('data', function(chunk) {
  console.log(chunk);
});

你可能想看看这一页。{对于WriteStreams}


基本上,使用{end:false}保持写流打开,以便可以分派另一个end事件

将布尔值设置为false,并在可读流结束时将其设置为true。无论何时尝试写入数据,请确保布尔值仍然为false,以确保可读流仍然打开。