帮助文档

前往官网
最新更新时间:2023-05-08 16:29:17

简介

遍历(For Each)是循环控制组件,类似于编程语言中的 for/foreach,在遍历组件中可以配置子流,对指定的数据集中每个元素执行子流处理逻辑。

操作说明

参数配置

参数数据类型描述是否必填默认值
数据集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
?通常情况下,配置数据集即可。

配置界面

img.png

数据预览

预览字段数据类型描述
payloadany每次遍历的输入值,属于数据集的其中一个元素
indexint每次遍历的位置,代表当前输入值在数据集中的下标位置,从0开始计数

img_1.png

数据预览的内容仅为子流可见,子流中的组件可以直接使用遍历组件的 Payload 和 index,如图所示:
img_2.png

输入到子流中的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 内容,后续节点只能感知到变量的变化。

案例

使用 For Each 组件遍历列表,为列表中的元素添加序号及前缀。

  1. 初始化变量 listResult。
    img_4.png

  2. 添加遍历并配置组件。
    img_5.png

  3. 遍历的子流中设置变量, 给每个遍历的元素值添加前缀(元素的下标位置),并添加到 listResult 变量。
    img_6.png

  4. 单元测试输出效果。
    img_7.png

如果您在文档使用中遇到问题或者有改进建议,请点击 在线反馈