Return
Return 用于在工作流中提前终止执行。命中某个条件时,它会立即结束整个流程,后续节点都不再执行,常用于异常拦截或满足条件后跳过剩余步骤。
指令标识:Return
指令类型:逻辑指令
指令描述:提前终止整个工作流的执行,且不返回值
先选使用方式
Section titled “先选使用方式”Return 是流程控制节点,本身没有业务参数,作用是「立即结束当前流程」。
| 方式 | 怎么用 | 适合人群 |
|---|---|---|
| 可视化编排(推荐) | 在需要提前结束的位置(通常在某个条件分支内)拖入 Return 节点 | 大多数用户 |
| 代码编排(Python) | 在脚本中使用 Python 原生的 return 提前结束当前流程函数 | 熟悉代码的用户 |
什么时候用?
Section titled “什么时候用?”- 满足某个条件后,无需再执行后续节点,可提前结束流程。
- 检测到异常或错误时,立即终止执行,防止错误扩散。
- 在条件分支中命中某个分支后直接结束整个流程。
Return执行后整个流程会立即结束,后续所有节点都不会执行。- 在嵌套调用中,子流程执行
Return后父流程也会停止;若只想结束子流程并返回结果,请使用 ReturnSub。 Return不返回值,仅用于终止流程。
可视化编排:从 0 到跑通
Section titled “可视化编排:从 0 到跑通”- 在工作流画布中定位到需要提前结束的位置,通常放在某个 条件分支(IF) 内。
- 拖入
Return节点。 - 运行流程,确认命中条件时流程在该节点处终止,后续节点不再执行。
Return 指令没有输入参数,直接放置即可。
Return 指令没有输出参数,不返回任何值。
- 命中
Return所在分支后,流程立即结束。 Return之后的节点没有被执行。- 运行日志中没有继续执行后续节点的记录。
| 现象 | 可能原因 | 处理建议 |
|---|---|---|
| 流程没有提前结束 | Return 所在分支未命中 | 检查上游条件判断与变量引用是否正确 |
| 只想结束子流程却把整个流程结束了 | 误用了 Return 而非 ReturnSub | 子流程提前返回请使用 ReturnSub |
| 期望返回值但没拿到 | Return 不返回值 | 需要返回结果时改用 ReturnSub 并配置返回值 |
Python 代码编排
Section titled “Python 代码编排”代码编排以 Python 为主。运行上下文由代码编排模板创建,流程通常封装为函数,Return 直接对应函数内的原生 return。
在代码编排中无需单独的 Return 指令,直接在流程函数里使用 Python 的 return 即可提前结束:
def workflow(params): if not params.get("valid"): return # 对应 Return:命中条件后提前结束整个流程
# 仅在条件未命中时才会执行到这里 bots.message(message="继续执行后续步骤")如果你想在工作流中通过节点动态编排指令,可使用 执行指令(XML)节点。
Q1:Return 和 ReturnSub 有什么区别?
Section titled “Q1:Return 和 ReturnSub 有什么区别?”A: Return 用于结束整个工作流;ReturnSub 用于结束子工作流并把结果返回给父工作流。
Q2:Return 可以返回数据吗?
Section titled “Q2:Return 可以返回数据吗?”A: 不可以。Return 不返回值。如果需要向上层返回结果,请使用 ReturnSub。
Q3:Return 通常放在哪里?
Section titled “Q3:Return 通常放在哪里?”A: 通常放在条件分支内,命中某个条件后提前结束流程,避免执行后续不必要的节点。