循环 Block
循环 block 允许在工作流中重复执行特定操作。它支持基于计数的循环和基于列表的遍历,并且可以嵌套使用来实现复杂的循环逻辑。配置选项
参数说明
-
type
- 类型:string
- 可选值:count、list
- 默认值:count
- 作用:决定循环的执行方式
-
count
- 类型:number
- 默认值:1
- 作用:设置循环执行的次数
- 说明:仅在 type 为 count 时有效
-
list
- 类型:array
- 默认值:空数组
- 作用:提供遍历的数据列表
- 说明:仅在 type 为 list 时有效
-
parallel
- 类型:boolean
- 默认值:false
- 作用:控制是否并行执行循环
- 说明:启用后可提高执行效率
-
maxParallel
- 类型:number
- 默认值:5
- 作用:限制并行执行的最大数量
- 说明:仅在 parallel 为 true 时有效
循环类型说明
计数循环 (count)
- 按指定次数重复执行
- 适用于固定次数的重复操作
- 可以通过 index 访问当前循环次数
列表循环 (list)
- 遍历指定的数据列表
- 每次循环可以访问当前项的值
- 支持任意类型的列表数据
嵌套使用说明
循环 block 支持多层嵌套,可以实现复杂的循环逻辑:- 基本嵌套结构
- 嵌套层级控制
- 建议不超过 3 层嵌套
- 每层循环使用不同的循环变量名
- 注意内存使用和性能影响
- 数据传递
- 外层循环的变量可以传递给内层循环
- 内层循环的结果可以收集到外层循环
使用示例
- 基础计数循环
- 列表遍历
- 并行执行
- 嵌套循环示例
注意事项
-
性能优化
- 合理使用并行执行
- 控制嵌套层级
- 注意内存使用
-
数据处理
- 注意列表数据的大小
- 处理循环变量的作用域
- 合理收集循环结果
-
错误处理
- 考虑循环中断的情况
- 处理并行执行的错误
- 设置超时机制
-
与其他 Block 配合
- 可以循环执行 generation block
- 可以在循环中使用 ifElse block 进行条件控制
- 可以循环调用其他工作流
- 可以收集用户输入进行批处理
-
嵌套使用建议
- 明确每层循环的目的
- 使用有意义的变量名
- 注意循环条件的终止
- 避免死循环