在平均堆栈项目中使用javascript工作流库

时间:2017-02-28 15:09:52

标签: javascript workflow mean-stack bpmn noflo

我开发了一个网络应用程序,这是一个使用均值堆栈方法的QA论坛。目前该项目正在运行,我已经实现了基本要求,如使用passportjs进行登录验证,然后使用mongoose在mongodb中存储问题,答案,投票等。

现在我需要以编程方式将状态机状态添加到整个项目中,其中每个模块(例如,登录模块)将充当状态。并且必须定义它们的流程。

我已经研究过javascript工作流引擎,例如workflow-4-node,bpmn.js,turbine.js。所以我的问题是,如何在不更改项目代码的情况下使用这些库,是否有任何具体方法可以执行此操作,或者我需要更改整个代码以实现工作流程。

同样在我的项目中,我使用ui.router(angularjs的路由模块)在不同的页面和控制器之间切换(使用$ stateProvider)。那么我已经实现了这种路由,还有像我需要做的工作流状态机器,相同(不同的术语但是相同的概念),还是它们不同?

1 个答案:

答案 0 :(得分:0)

NoFlo 0.8提供asCallback界面,允许用户将NoFlo图嵌入现有的JavaScript代码中。

因此,如果您为特定工作流定义了NoFlo graph,则可以将其包含在JavaScript应用中,如下所示:

// Wrap a NoFlo graph
var myFunc = noflo.asCallback('my-project/MyGraph');

// Call the wrapped graph
myFunc({
  inport: 'data'
  anotherport: 'more data'
}, function (err, result) {
  // Do something with the result
});