跳转到内容

ReturnSub

ReturnSub 用于在子工作流中立即终止当前子流程的执行,并把指定结果返回给调用它的父工作流。它常用于子流程提前结束并向上传递结果,与 执行工作流调用子流程 配合使用。

指令标识:ReturnSub
指令类型:逻辑控制指令
指令描述:终止当前子工作流并向父工作流返回结果

ReturnSub 用于结束子流程并返回结果,配置只需要指定返回值。

方式怎么用适合人群
可视化编排(推荐)在子流程中拖入 ReturnSub 节点,配置要返回的值大多数用户
代码编排(Python)在子流程函数中使用 Python 原生的 return 返回结果熟悉代码的用户
  • 子流程在某个条件下需要提前结束,并把结果交还给父流程。
  • 子流程完成了它的职责,需要把计算结果返回给上层。
  • ReturnSub 用于子工作流内部,执行后该子流程会立即结束。
  • 返回值会传递给调用方(父工作流),父流程通过子流程节点的输出引用它。
  • 如果只是想结束整个流程而非子流程,请使用 Return
  1. 在被调用的子工作流中,定位到需要提前返回的位置(通常在某个 IF 分支内)。
  2. 拖入 ReturnSub 节点,在 返回值 中填写或引用要返回的内容。
  3. 在父工作流中通过 调用子流程 节点的输出引用该返回值。
  4. 运行父流程,确认子流程在命中条件后返回了预期结果。
ReturnSub
界面名称代码属性名类型必填默认值说明
输入参数outputListString-高级选项。子流程要返回给父工作流的参数配置,JSON 格式,定义返回的变量名称、值与类型,例如 [{"name":"result","value":"success","type":"string"}]
界面名称代码属性名类型必填说明
将结果保存至outKeyString保存处理后的参数集合,可选;返回值也可通过父工作流中子流程节点的输出引用,例如 endResult
  • ReturnSub 节点运行结束后状态为成功。
  • 运行日志中没有参数缺失、超时或执行失败等错误。
  • 如果配置了输出变量,后续节点能够读取到符合预期的结果。
  • 后续节点能够继续执行,流程没有因为该节点异常中断。
现象可能原因处理建议
父流程取不到返回值未配置返回值,或父流程引用方式错误确认 ReturnSub 配置了返回值,并在父流程通过子流程节点输出引用
子流程没有提前结束ReturnSub 所在分支未命中检查触发条件与变量引用
整个流程都被结束了误用了 Return 而非 ReturnSub子流程提前返回请使用 ReturnSub

代码编排以 Python 为主。在代码里,子流程通常封装为函数,ReturnSub 直接对应函数内的 return。

def sub_workflow(params):
if not params.get("valid"):
return {"status": "skip"} # 对应 ReturnSub:提前结束子流程并返回结果
result = bots.llm(prompt="...")
return {"status": "ok", "data": result}

在代码编排中无需单独的 ReturnSub 指令,直接在子流程函数里使用 Python 的 return 即可。

Q1:ReturnSub 和 Return 有什么区别?

Section titled “Q1:ReturnSub 和 Return 有什么区别?”

A: ReturnSub 用于结束子工作流并把结果返回给父工作流;Return 用于结束当前流程。

Q2:ReturnSub 必须配置返回值吗?

Section titled “Q2:ReturnSub 必须配置返回值吗?”

A: 返回值是可选的。如果只是想提前结束子流程而不返回内容,可以不填。