一、参数配置
| 参数 | 数据类型 | 描述 | 是否必填 | 默认值 |
| 数据集 | string、list、dict、int | 待遍历的数据集。当类型为 string 时,遍历字符串的每个字符。当类型为 list 时,遍历 list 的每个元素。当类型为 dict 时,遍历 dict 中的 value。当数据集类型为 int 时,例如3;实际遍历的数据集为[0,1,2]。 | 是 | 无 |
| 计数器 | string | 计数器是一个变量,该变量存储了当前的迭代次数,从0开始。这里填入变量名称,msg.vars.get('#计数器变量#')即可使用。例如:当计数器变量使用默认值 counter 时:第1次循环,msg.vars.get('counter')值为0。第2次循环,msg.vars.get('counter')值为1。 | 是 | counter |
| 根信息 | string | 根信息同样是一个变量,这里填入变量名称,根信息中保存了主流的 message 信息。msg.vars.get('#根信息名称#').payload 即可访问主流的 payload 数据。当使用默认值 rootMessage 时,使用 msg.vars.get('rootMessage').payload 即可在遍历的子流中访问主流的 payload 数据。 | 是 | rootMessage |
注意:说明:
注意:通常情况下,配置数据集即可。
二、数据预览
| 预览字段 | 数据类型 | 描述 |
| payload | any | 每次遍历的输入值,属于数据集的其中一个元素。 |
| index | int | 每次遍历的位置,代表当前输入值在数据集中的下标位置,从0开始计数。 |
数据预览的内容仅为子流可见,子流中的组件可以直接使用遍历组件的 Payload 和 index,如下:
三、输入到子流中的 message
| message 属性 | 值 |
| payload | 数据集中的元素,例如待迭代的数据集为[1,2,3]:第一次循环,子流中 payload 的数据为1。第二次循环为2。当迭代的数据集为 dict 类型{"key":"key1", "value":"value1"}:第一次循环,子流中的 payload 为 value1。第二次为 value2。 |
| error | 空。 |
| attribute | 空。 |
| variable | 继承主流中的 variable 数据,同时新增两个变量,一个是计数器,一个是根信息,若用户使用默认值,可使用表达式 msg.vars.get('counter') 和 msg.vars.get('rootMessage') 访问。若 For Each 中使用了 Set Variable,则在子流执行过程中,新增的变量也会添加到 varaible 中。 |
四、输出
遍历组件不会改变 Message 内容,后续节点只能感知到变量的变化。
五、案例
1. 循环一个数组。
将查询到的订单信息,逐条发送到企微中进行提醒:
1.1 首先选择遍历类型为:数据集,遍历对象为:查询到的数组。
1.2 在遍历内插入发送消息节点,发送内容选择遍历后的数据。
1.3 得到的内容:
2. 输出等差数列。
如:1、3、5、7、9…
配置如下: