2015-06-01 31 views
1

我从SO到gzip压缩的目录下面的代码:节点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){}); 

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

回答

0

使用end阅读器事件。当读取器的管道完成时它会发火:

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){}); 
});