- 简介
- 入门指南
- 使用 BPMN 进行流程建模
- 使用 Case Management 进行流程建模
- 使用 Flow 进行流程建模
- 流程实施
- 流程运营
- 流程监控
- 流程优化
- 参考信息
控制分支(决策、切换)、迭代(循环)和合并路径的流程节点,以管理流程的执行顺序。
内容概览
控制流决定您的流程如何决定执行什么内容以及以什么顺序。每个流程都从直线节点开始,但实际工作需要决策、重复和统一。流提供四个控制流节点——“决策”、“切换”、“循环”和“合并”——这些节点让您无需离开画布即可进行分支、迭代和聚合。
分支
分支将流程拆分为单独的路径,以便根据条件运行不同的节点。
决策 — 两条路径
决策节点对单个 JavaScript 表达式进行评估,并路由到两个输出之一:true 或 false。它适用于是/否、通过/失败或任何二进制检查。
$vars.httpRequest1.output.statusCode === 200
$vars.httpRequest1.output.statusCode === 200
上面的表达式向 true 分支发送成功响应,向 false 分支发送其他所有响应。
有关完整配置,请参阅“决策节点参考” 。
切换 — 三个或更多路径
“切换”节点对案例表达式的排序列表进行求值,并获取第一个匹配项。最多添加十个案例,并为任何不匹配的内容添加可选的默认分支。
Switch 适合按类别、状态或任何具有两种以上可能结果的值进行路由。
有关完整配置,请参阅切换节点参考。
循环
循环多次重复一系列节点。Flow 针对不同情况提供了两个循环节点。
循环 (遍历循环)
循环节点对集合(数组)进行迭代,并为每个项目执行一次其主体。它在循环主体中公开了三个变量:
currentItem— 当前迭代的项目currentIndex— 从零开始的索引,跟踪正在运行的迭代collection— 正在迭代的完整数组
完成所有迭代后,“循环”会生成一个output数组,用于聚合每次迭代的结果。从成功句柄中继续执行。
循环节点的集合表达式指向它遍历的数组,例如$vars.script1.output 。“并行”选项同时运行所有迭代,而不是按顺序运行。连接到循环输出句柄的节点构成循环主体,连接到成功句柄的节点将在所有迭代完成后运行。
合并分支
在“决策”或“切换”拆分流程后,如果无论采用哪个分支,都必须运行下游节点,请使用“合并”节点。
“合并”节点接受其单个输入句柄上的多个传入边缘并生成一个输出。每个分支的最后一个节点都连接到合并分支,流程从合并输出句柄继续。
“合并”等待实际执行的分支 — 它不会等待所有传入的边缘。只有在当前运行期间接收到数据的分支才会通过。
实际示例
考虑一个流程,该流程获取支持工单列表,遍历每个工单,并以不同于其他工单的方式路由高优先级工单。
该流程将五个节点连接在一起:
- “HTTP 请求”节点调用工单 API 并返回工单对象数组。
- 循环节点遍历
$vars.httpRequest1.output.body.tickets。 - 在循环主体内,决策节点对
$vars.loop1.currentItem.priority === "high"进行评估。true 分支连接到“发送电子邮件”节点,该节点会警示 on-call 团队; false 分支连接到脚本节点,该节点会记录工单以供日后查看。 - “合并”节点连接两个分支,因此无论运行哪条路径,迭代都会干净完成。
- “合并”连接回循环的“环回”输入,而“循环”的成功句柄将用于流程的其余部分。
这种模式(获取、循环、分支、合并)涵盖了大部分实际自动化场景。
相关页面
- 决策节点— 双路径分支的完整配置参考
- 切换节点— 多路径分支的完整配置参考
- 变量和数据流—
$vars表达式和节点输出的工作原理 - Error Processing — 处理失败,不同于条件分支
- 画布— 直观导航和构建流程