我必须编写一个模块,其任务是提取给定两个参数的zip文件(zip文件的路径
,提取路径的目录
),该模块应该公开执行任务的方法,然后在操作成功时触发另一个任务。
我主要关心的是:我应该使用回调设计模式还是可观察事件发射器?
基本上,我想知道是否应该公开一个扩展事件模块的对象,该对象可以在 extraction-complete
事件上观察到,或者如果成功,我是否应该使用 callback(err, 'ok')
。
这两种模式之间的巧妙方法是什么?
我的目标是解压缩文件,然后浏览提取的存档的内容,并从提取的文件夹中将一些信息写入数据库。该文件夹是一个 zip 文件,由包含图像的文件夹组成,大约有 600 个条目
最佳答案
您可以使用此命令先安装unzip:
npm install unzip
然后使用下面的代码:
var unzip = require('unzip');
var stream = fs.createReadStream('/tmp/file.zip');
stream.pipe(unzip.Extract({ path: '/dest' })
.on('close', function () {
// Your callback code will go here...
})
);
关于node.js - Node 使用回调或事件异步提取 zip 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40594638/