0

我正在编写一个具有一个必需 IP 和三个可选 IP 的组件。问题是即使后面三个 IP 是可选的,但至少其中一个是必需的。它看起来像这样:

@inPorts.add 'search_term', new noflo.InPort datatype: 'string'
@inPorts.add 'category1', new noflo.InPort datatype: 'boolean'
@inPorts.add 'category2', new noflo.InPort datatype: 'boolean'
@inPorts.add 'category3', new noflo.InPort datatype: 'boolean'

因此,基本上,组件应该在某些(至少一个!)类别或类别组合中执行搜索。

问题是组件必须等到它从所有连接的输入收集数据,然后搜索并向前发送结果。

我已经查看了wirePattern/groupedInput助手,但我无法确定是否支持这种类型的可选分组。我在这里错过了一些微不足道的事情吗?有没有更简单的方法来实现这种行为?我还研究了一些required关于 IP 的选项,但没有得到它的工作。

4

1 回答 1

1

我建议你只有两个 inPorts;search_termcategory。类别端口可以接受具有最多三个与类别名称匹配的属性的对象。

@inPorts.add 'search_term', new noflo.InPort datatype: 'string'
@inPorts.add 'category', new noflo.InPort datatype: 'object'

# Example input object
{
  category1: true,
  category2: false,
  category3: true
}
于 2014-07-10T05:53:05.143 回答