Node.js fs:检测outStream何时完成写入

时间:2015-08-31 09:43:12

标签: node.js

我正在使用节点zlib.createGzip压缩一个巨大的字符串。

使用流,我执行以下操作。我想知道outStream什么时候写完数据,所以我可以调用一个回调。 我知道如何检测inStream'end'事件,但找不到可写outStream的等价物。

有什么建议吗?

var gzOption = {
    level: zlib.Z_BEST_COMPRESSION, 
    memLevel: zlib.Z_BEST_COMPRESSION
}
var gzip = zlib.createGzip(gzOption) 
inputStream = fs.createReadStream(filePath);
outStream = fs.createWriteStream(gzFilePath);
inputStream.pipe(gzip).pipe(outStream);

1 个答案:

答案 0 :(得分:0)

您是否尝试过收听可写流的finish事件?它在此处记录:https://nodejs.org/api/stream.html#stream_event_finish

  

当调用end()方法并且所有数据都已刷新到底层系统时,将发出此事件。