节点在gzip压缩后删除目录

node remove a directory after gzipping it

我从 SO 获得了以下代码以 gzip 一个目录:

fstream.Reader({'path':'mydir','type':'Directory'}).pipe(tar.Pack()).pipe(zlib.Gzip()).pipe(fstream.Writer({'path': 'mygz.tar.gz'}));

并删除一个目录:

rm_rf('mydir',function(error){});

我需要把它们放在一起,这样我就可以压缩一个目录并删除原来的目录。为此,我需要找到一种方法来收听最后一个 pipe() 事件。有人可以帮助我如何做到这一点。

使用 end reader 事件。它在 reader 的管道完成时触发:

var reader = fstream.Reader({'path':'mydir','type':'Directory'});

reader.pipe(tar.Pack()).pipe(zlib.Gzip()).pipe(fstream.Writer({'path': 'mygz.tar.gz'}));

reader.on('end', function() {
  rm_rf('mydir',function(error){});
});