【发布时间】:2017-03-28 10:31:02
【问题描述】:
我必须编写一个模块,其任务是在给定两个参数的情况下提取一个 zip 文件(zip file's path、directory where to extract's path),它应该公开一个执行任务的 方法,然后如果操作成功则触发另一个任务。
我主要关心的是:我应该使用回调设计模式还是可观察事件发射器?
基本上,我想知道我是否应该公开一个扩展事件模块的对象,该模块可以在extraction-complete 事件上观察到,或者如果成功,我应该使用callback(err, 'ok')。
这两种模式之间的巧妙方法是什么?
我的目标是解压缩文件,然后浏览提取的存档内容,并从提取的文件夹中将一些信息写入数据库。该文件夹是一个 zip 文件,其中包含包含图像的文件夹,并且确实有大约 600 个条目
【问题讨论】:
-
考虑使用 Promise。
-
我认为这两种方法都是有效的......承诺方法也是一种有效的方法......它只取决于你的
design patterns。看看这个列表blog.risingstack.com/fundamental-node-js-design-patterns...只要与你的其余代码保持一致,你应该很好。
标签: node.js events asynchronous callback eventemitter