据我所知,NoFlo端口发送了7个事件:
附加,连接,begingroup,数据,端组,断开连接,分离
对我来说,其中一些事件听起来非常相似,例如attach + connect和disconnect + detach.有什么不同?
begingroup和endgroup是什么意思?
这些事件何时被发出,何时被广泛使用?
我在http://noflojs.org/documentation/components/#portevents上看过这些文档
我的假设是正确的,假设附加和分离是用于处理NoFlo UI案例,例如改变组件的状态看起来?
另一个假设是每次发送数据之前都会触发连接?然后数据被触发.然后断开?对我来说似乎有点奇怪......
谈到团体,我完全处于黑暗中.
我仍然从流程的角度学习很多关于FBP和NoFlo是如何工作的,所以虽然我可以在一起工作,但我不确定我是否在其他地方引入了问题.
在这种情况下,我正在创建一个组件,在将数据发送到out端口之前等待其2个端口中的每个端口上的输入.为什么?我需要来自两个输入的数据来构造输出数据包(组名和输入数据包).
我已经设法使用2种方法实现了这一点,我想知道哪种方法更好,或者至少知道每种方法的上/下方.
我在这里讨论的组件是vizicities/Group:

方法1:在内部对来自input1的数据包进行排队,直到input2收到数据包
var noflo = require("noflo");
exports.getComponent = function() {
var AddGroup = new noflo.Component();
AddGroup.description = "This component adds a group to the data packets";
var packets = [];
var groupName = "";
// Register ports and event handlers
AddGroup.inPorts.add("in", { datatype: "all" }, function(event, payload) {
switch (event) {
case "begingroup":
AddGroup.outPorts.out.beginGroup(payload);
break;
case "endgroup":
AddGroup.outPorts.out.endGroup();
break;
case "data":
// Queue packet
packets.push(payload);
break;
case "disconnect":
// Only send output if group has been set …Run Code Online (Sandbox Code Playgroud) 我从noflo运行了一个简单的noflo示例.但我没有运气弄清楚noflo应该如何处理节点和其他代码.
起初我有这个fbp文件:
# In the graph we first need to define the nodes and the connections between them
Read(filesystem/ReadFile) OUT -> IN Display(core/Output)
# Start off the graph by sending a filename to the file reader
#'package.json' -> IN Read
Run Code Online (Sandbox Code Playgroud)
我试过了: noflo.loadFile(filepath, nodedir, function(graph)
这适用于打印到控制台.但是,如果我省略了fbp中的最后一行,它提供package.json参数,我发现无法运行图形.
是否有关于如何从nodejs代码而不是命令行使用noflo的指南?
我想通过证明 json 数据作为输入,使用 Highchart 或任何其他 js 库绘制网络拓扑图。在查看http://www.highcharts.com/demo/renderer上拓扑图要求的示例时,我发现它是静态的,并且没有任何具有固定 json 格式的示例来根据拓扑 xml 动态渲染拓扑。
寻求帮助以根据各种 json /xml 绘制逻辑拓扑/网络拓扑。