要重复运行链中的命令或命令组,可设置一个迭代器。
注: 要将关系数据库或外部网络服务的输出转换为 JSON 数组以便与迭代器一起使用,请使用JSON 连接器的CSV to JSON 命令 或JSON 变量转换 。
设置迭代器
使用迭代器,您可以根据以下条件重复执行命令或分组:
- 静态或动态数值列表
- 精确的数值
- 根据条件是否存在
迭代器可以重复命令或分组:
- 区域或实体等值的静态列表
- 动态或可变的数值列表,例如来自作为工作区资源上传的文件或来自链中较早命令的输出
注: A 命令或组的迭代次数限制为 1000 次。
在数值列表上运行迭代器:
- 在链中,选择要重复运行的命令或组,然后单击编辑 。
- 在Iterations 选项卡上,启用Iterator 。
- 在选择修改器类型 ,选择列表。
- 输入迭代值:
- 对于静态列表,输入每次迭代的值,每次迭代后按Enter 。
- 对于动态 列表,从前面命令的输出中选择要使用的值。
- 对于静态列表,输入每次迭代的值,每次迭代后按Enter 。
迭代器可以重复执行一条命令或一组命令,重复的值可以是一个精确的数字,例如链中前面一条命令输出的总页数。
步骤 1.为数值设置变量
要显示迭代次数,可创建一个动态链变量:
- 在链中,添加一个动态变量 表示迭代次数,如计数器 ,没有初始值。
- 要在运行链时设置变量的初始值,在输出迭代次数的命令后,添加设置动态链变量 事件:
- 选择为迭代次数创建的动态变量。
- 在Value 中,输入起始值,如 1。
步骤 2.添加命令组
要指明要迭代的命令和迭代规则,请添加一个命令组:
- 设置动态链变量 事件后,添加命令组 ,并在它们之间拖动一个链接。
- 选择组,然后单击编辑 。
- 在组的Iterations
- 在Select 修改器中键入 ,选择 Repeat until。
- 单击+ 规则 ,选择浮点数据类型,并指定停止迭代的时间。例如,要根据先前命令的记录总数 输出进行迭代,可设置一条规则,当变量值大于 (>)记录总数 输出时停止迭代。
- 在组中添加迭代命令。
步骤 3.添加事件以递增变量值
每迭代一次,变量值就递增一次:
- 作为该组的最后一步,添加另一个设置动态链变量 事件:
- 选择为迭代次数创建的动态变量。
- 在Value 中,选择相同的变量。
- 要转换值 ,请单击值 中的变量,然后添加解析数 转换。
- 添加添加 转换,值为 1,然后单击接受 。
如果数值或数值的确切数量未知,则可以根据是否满足特定条件进行遍历。例如,您可以在指定条件存在时或指定条件不存在时重复执行命令。
步骤 1.为条件值设置变量
要表示指示迭代值的条件,可创建动态链变量。例如,如果一条命令提供一个布尔键输出来指示其响应是否包含额外页面,并提供一个整数偏移参数来标识每个页面,则应为这些值创建变量:
- 在链中,,为每个条件添加一个没有初始值的动态变量 。
- 要在链运行时设置变量的初始值,请在输出条件值的命令后,添加设置动态链变量 事件 ,选择动态变量,并输入它们的起始值。
例如,输入布尔键的值为 True,偏移值为 0。
步骤 2.添加命令组
要指明要迭代的命令和迭代规则,请添加一个命令组:
- 设置动态链变量 事件后,添加命令组 ,并在它们之间拖动一个链接。
- 选择组,然后单击编辑 。
- 在组的Iterations
- 在Select(选择)修改器中键入 ,选择 Repeat(重复),直至。
- 单击+ 规则 ,指定停止迭代的时间,如布尔键为 False 时。
- 在组中添加迭代命令。
步骤 3.每次迭代都设置变量值
作为该组的最后一步,添加另一个设置动态链变量 事件,以在每次迭代时设置或递增变量值。
- 要设置变量值,请将每个变量映射到前面命令中各自的输出端。例如,对于布尔型 变量,选择布尔型键输出;对于偏移 变量,选择整数偏移参数。
- 要增量变量 ,如偏移量 ,请单击其值,然后应用解析数字 变换和添加 变换,每次迭代都要增量其值。
迭代器输出
您可以将迭代器的输出作为属性,用于链中的其他命令或事件。输出取决于迭代器的修改器-列出 或重复,直到 。
输出 | 说明 |
---|---|
命令迭代或分组迭代 | 循环中迭代处理的变量值 |
索引 | 零基计数,表示循环中处理的迭代次数 |
第一次迭代 |
布尔值,用于指定所处理的迭代是否是循环中的第一个迭代 |
最后迭代 | 仅对于List 迭代器,布尔值用于指定所处理的迭代是否是循环中的最后一次迭代 |
迭代总数 | 对于List 迭代器,循环处理的总迭代次数的零基计数 |
要将输出作为另一个命令或事件的属性,请分别在命令迭代器 或组迭代器 下选择它。