我开发了一个网络应用程序,这是一个使用均值堆栈方法的QA论坛。目前该项目正在运行,我已经实现了基本要求,如使用passportjs进行登录验证,然后使用mongoose在mongodb中存储问题,答案,投票等。
现在我需要以编程方式将状态机状态添加到整个项目中,其中每个模块(例如,登录模块)将充当状态。并且必须定义它们的流程。
我已经研究过javascript工作流引擎,例如workflow-4-node,bpmn.js,turbine.js。所以我的问题是,如何在不更改项目代码的情况下使用这些库,是否有任何具体方法可以执行此操作,或者我需要更改整个代码以实现工作流程。
同样在我的项目中,我使用ui.router(angularjs的路由模块)在不同的页面和控制器之间切换(使用$ stateProvider)。那么我已经实现了这种路由,还有像我需要做的工作流状态机器,相同(不同的术语但是相同的概念),还是它们不同?
答案 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
});