我正在使用npm的unzip
模块来提取zip存档的内容。我需要知道何时完成解压缩并且文件已完全写入磁盘。
fs.createReadStream('master.zip').pipe(unzip.Extract({ path: 'gitdownloads/repo' }));
我的第一个想法是我可以点击流并听取结束事件,但unzip
只接受输入:它不会返回另一个流。
我还查看了unzip
模块是否有“完成”回调。没有运气。
答案 0 :(得分:10)
来自github README
一旦zip的内容出现,Extract就会发出'close'事件 完全解压缩到磁盘。
你会想做类似的事情:
fs.createReadStream('master.zip')
.pipe(unzip.Extract({ path: 'gitdownloads/repo' }))
.on('close', function () {
...
});