Node.js 使用回调或事件异步提取zip文件的节点?
我必须编写一个模块,它的任务是在给定两个参数的情况下提取一个zip文件(Node.js 使用回调或事件异步提取zip文件的节点?,node.js,events,asynchronous,callback,eventemitter,Node.js,Events,Asynchronous,Callback,Eventemitter,我必须编写一个模块,它的任务是在给定两个参数的情况下提取一个zip文件(zip文件的路径,提取路径的目录),该模块应该公开一个方法来执行任务,然后在操作成功时触发另一个任务 我主要关心的是:我应该使用回调设计模式还是可观察事件发射器模式 基本上,我想知道是否应该公开一个扩展事件模块的对象,该模块可以在extraction complete事件上观察到,或者如果成功,是否应该使用回调(err,'ok') 这两种模式之间的聪明方法是什么 我的目标是解压缩一个文件,然后浏览提取的归档文件的内容,并从提
zip文件的路径
,提取路径的目录
),该模块应该公开一个方法来执行任务,然后在操作成功时触发另一个任务
我主要关心的是:我应该使用回调设计模式还是可观察事件发射器模式
基本上,我想知道是否应该公开一个扩展事件模块的对象,该模块可以在extraction complete
事件上观察到,或者如果成功,是否应该使用回调(err,'ok')
这两种模式之间的聪明方法是什么
我的目标是解压缩一个文件,然后浏览提取的归档文件的内容,并从提取的文件夹中将一些信息写入数据库。该文件夹是一个zip文件,由包含图像的文件夹组成,有大约600个条目您可以使用此命令首先安装解压:
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...
})
);
您可以使用此命令首先安装解压:
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...
})
);
考虑使用承诺。我认为这两种方法都是有效的。此外,承诺方法是一种有效的方法。。。这取决于您的
设计模式。看看这个列表。。。只需与你的代码保持一致,你就应该是好的。考虑使用承诺。我认为这两种方法都是有效的…此外,承诺方法是一种有效的方法。。。这取决于您的设计模式。看看这个列表。。。只要与代码的其余部分保持一致,就应该是好的。我在安装解压模块后遇到了错误。卸载解压模块后删除错误。错误看起来像:c:\projects\electron\vendor\node\src\async wrap.cc:357:断言'env->async\u hooks\u init\u function().IsEmpty()'失败。安装解压模块后我收到错误。卸载解压模块后删除错误。错误看起来像:c:\projects\electron\vendor\node\src\async wrap.cc:357:断言'env->async\u hooks\u init\u function()。IsEmpty()'失败。