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

我的代码:

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

我试过的:

我的第一个想法是我可以进入流并监听完成事件,但 unzip 只接受输入:它不会返回另一个流。

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

最佳答案

来自 github README



你会想要做这样的事情:

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

10-05 21:29