我想知道在可读流关闭之前保持Node应用程序运行的好方法是什么。所以在一个简单的例子中如下:
var tcpVideoStream = new TcpVideoStream(options);
var writeStream = fs.createWriteStream(options.fileName);
tcpVideoStream.pipe(writeStream);
如何保持我的应用程序运行,以便继续将流数据写入文件,直到可读流(在本例中为tcpVideoStream)关闭?即发出'结束'或'关闭'。
谢谢!
答案 0 :(得分:1)
在数据完全传输之前,您的应用程序不会关闭。只有当可读流仍然存在时,您的应用程序才会关闭,例如没有data
事件监听器,或者您没有调用resume()
(如果它已经暂停)。使用pipe()
就像添加data
侦听器一样。
例如,这将退出而没有输出。
var fs = require('fs');
var read = fs.createReadStream('./src');
var write = fs.createWriteStream('./dest');
read.pause();
read.on('data', function(chunk) {
console.log(chunk);
});
答案 1 :(得分:0)
您可能需要查看此页面。 {for WriteStreams}
http://nodejs.org/docs/v0.6.18/api/stream.html#stream_stream_pipe_destination_options
基本上使用{end:false}会使写入流保持打开状态,以便您可以分派另一个结束事件。