我正在编写一个具有一个所需IP和三个可选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
帮助器,但我无法弄清楚是否支持这种类型的可选分组。我在这里错过了一些小事吗?有没有更简单的方法来实现这种行为?我还看了一些关于IP的required
选项,但是还没有让它发挥作用。
答案 0 :(得分:1)
我建议你只有两个inPorts; search_term
和category
。类别端口可以接受具有最多三个与类别名称匹配的属性的对象。
@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
}