我正在使用unzip2模块https://github.com/glebdmitriew/node-unzip-2来解压缩zip文件流,但是在获取zip条目时,我遇到了问题。
我的代码如下:
var fs = require('fs');
var entries = [];
var srcStream = fs.createReadStream('test.zip');
srcStream.pipe(unzip.Parse())
.on('entry', function(entry) {
entries.push(entry.path);
entry.autodrain();
})
.on('finish', function() {
console.log(entries);
});
但是输出总是“[]”,似乎当“完成”事件得到时,“进入”事件的操作没有完成。
是否有任何解决方案可以获得所有条目清单?
答案 0 :(得分:2)
使用“关闭”事件代替“完成”可能会解决此问题。
var fs = require('fs');
var entries = [];
var srcStream = fs.createReadStream('test.zip');
srcStream.pipe(unzip.Parse())
.on('entry', function(entry) {
entries.push(entry.path);
entry.autodrain();
})
.on('close', function() {
console.log(entries);
});