2

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

现在,我需要以编程方式向整个项目添加一个类似工作流的状态机,其中每个模块(例如登录模块)都将作为一个状态。并且必须为他们定义一个流程。

我研究了 javascript 工作流引擎,例如 workflow-4-node、bpmn.js、turtle.js。所以我的问题是,我应该如何在不更改项目任何代码的情况下使用这些库,是否有任何特定的方法可以做到这一点,或者我是否需要更改整个代码来实现工作流程。

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

4

1 回答 1

0

NoFlo 0.8 提供了一个asCallback接口,允许用户将 NoFlo 图嵌入到现有的 JavaScript 代码中。

因此,如果您为特定工作流程定义了NoFlo 图,则可以将其包含到您的 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
});
于 2017-03-07T16:13:42.650 回答