如何知道npm`unzip`模块何时完成解压缩文件?

时间:2016-02-26 14:51:42

标签: javascript node.js asynchronous callback zip

我正在使用npm的unzip模块来提取zip存档的内容。我需要知道何时完成解压缩并且文件已完全写入磁盘。

我的代码:

fs.createReadStream('master.zip').pipe(unzip.Extract({ path: 'gitdownloads/repo' }));

我尝试了什么:

我的第一个想法是我可以点击流并听取结束事件,但unzip只接受输入:它不会返回另一个流。

我还查看了unzip模块是否有“完成”回调。没有运气。

1 个答案:

答案 0 :(得分:10)

来自github README

  

一旦zip的内容出现,Extract就会发出'close'事件   完全解压缩到磁盘。

你会想做类似的事情:

fs.createReadStream('master.zip')
  .pipe(unzip.Extract({ path: 'gitdownloads/repo' }))
   .on('close', function () {
     ...
   });