For Each 是循环控制结构,类似于编程语言中的 for/foreach,在 For Each 中可以配置子流,对指定的数据集进行循环处理,但是无法指定循环次数。使用该组件时,数据集填写待遍历的数据,计数器中填入一个变量名称,默认为 counter,该变量存储当前的迭代次数。根信息中同样填入一个变量名称,默认为 rootMessage,该变量中保存主流的 message 信息,For Each 中配置的子流可使用 msg.vars.get('rootMessage') 访问主流中的 message。
继承主流中的 variable 数据,同时新增两个变量,一个是计数器,一个是根信息,若用户使用默认值,可使用表达式 msg.vars.get('counter') 和 msg.vars.get('rootMessage') 访问。若 For Each 中使用了 Set Variable,则在子流执行过程中,新增的变量也会添加到 varaible 中。
输出
For Each 组件输出的 message 中,保留了 For Each 上一个组件的 payload 和 attributes 信息,只有 For Each 中子流使用的 variable 变量会传递出来。