0

刚刚发现Node.io,浏览了文档、api 等,它看起来很棒。但是,在构建我的第一份工作exports.job = new nodeio.Job(..)时,input, run,output, reduce, complete我需要某种initialize()方法,这种方法在连续调用input()完成之前调用一次。complete(在工作完成之前调用一次类似的方法)

周围有这样的方法吗?

为了完整性:此代码恕我直言必须是 node.io 流程的一部分(通过一些专用方法),因为在 node.io 范围之外初始化我的异步代码并不能保证在 node.io 作业之前数据已经存在执行。

4

1 回答 1

0

不知道有没有这样的方法,你浏览过源码了吗?看起来有一个“init”方法,如果处理器在工作,它会调用它。如果您尝试这样做,但它不是您想要的,您可以在node.io github 站点上将其作为一项功能提出建议。

否则,这将是一个非常简单的添加自己的东西。只需向您的对象添加一个“初始化”方法,然后将以下行放在“输入”或“运行”方法的顶部(如果您需要数据已经准备好,我认为这可能会更好):

if (!this.initialized) {
   this.initialized = true;
   this.initialize();
}

请注意,当然,这里对性能的影响很小。但在大多数情况下,这只是检查一个变量的值所花费的时间,与您实际需要的处理量相比,这可能非常少。

于 2012-12-13T23:09:34.730 回答