我从SO获取以下代码来gzip目录:
H.values.sort.inject(Hash.new(0)) {|ac,e| ac[e.to_s]+=1;ac}
# {"1"=>3, "2"=>2, "3"=>1}
删除目录:
fstream.Reader({'path':'mydir','type':'Directory'}).pipe(tar.Pack()).pipe(zlib.Gzip()).pipe(fstream.Writer({'path': 'mygz.tar.gz'}));
我需要把它们放在一起,以便我可以gzip一个目录并删除原始目录。为此,我需要找到一种方法来收听上一个rm_rf('mydir',function(error){});
事件。有人可以帮我解决这个问题。
答案 0 :(得分: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){});
});