Skip to content

Exit Block

立即终止当前文档的执行流程,用于在满足特定条件时提前退出。

功能说明

Exit Block 是一个原子节点,执行到它时会立即停止当前文档的所有后续 Block 执行。它通过设置 stopReason = 'exit' 并返回 STOP: true 来中断执行流程。

当你需要在条件判断后提前退出工作流、在错误处理分支中终止执行、或在循环中满足退出条件时跳出时,使用 Exit Block。

使用场景

  • 条件退出:在 If-Else Block 的某个分支中放置 Exit,当条件不满足时提前终止工作流
  • 错误处理:检测到异常数据或失败状态后,通过 Exit 阻止后续步骤继续执行
  • 守卫逻辑:在工作流开头进行前置校验,校验不通过直接退出

配置参数

属性名类型说明默认值
idstringBlock 唯一标识(自动生成)''
namestringBlock 名称(自动生成)''

Exit Block 是原子节点,无额外配置参数。插入后即生效,无需进一步设置。

输出变量

Exit Block 不产生输出变量。它的作用是终止执行,后续 Block 不会被执行,因此也不存在对其变量的引用场景。

变量名类型说明
(无)Exit Block 无输出变量

使用示例

示例 1:条件守卫

在工作流开头校验输入,不合法时退出:

[Input Block: user_input] — 用户输入
    |
[Condition Block] — 条件: {{user_input}} 为空
  ├─ true:
  │   └─ [Exit Block] — 输入为空,终止执行
  └─ false:
      └─ [Generation Block] — 继续处理 {{user_input}}

示例 2:数据校验后退出

查询数据库,如果没有数据则退出:

[Database Block: query] — 操作: Query, 表: tasks
    |
[Condition Block] — 条件: {{query.total}} == 0
  ├─ true:
  │   └─ [Exit Block] — 无待处理任务,终止
  └─ false:
      └─ [Loop Block] — 遍历 {{query.rows}} 逐条处理

运行时约束

  • 适用文档类型:workflow(Slash 菜单中排除了 skill 类型文档)
  • 可插入上下文:顶层文档内容区域、Condition Block 分支内、Loop Block 内
  • 不可嵌套场景
    • 不可在 Promise Block 内使用(Slash 菜单已过滤 promisebranch 上下文)

注意事项

  1. 立即生效:执行到 Exit Block 时,当前文档后续所有 Block 都不会被执行
  2. 仅影响当前文档:在 Flow Block 调用的子文档中使用 Exit,只会终止子文档的执行,不会影响父文档
  3. 不可撤销:Exit 没有条件配置,一旦执行流到达就会无条件终止。如需条件退出,请将 Exit 放在 Condition Block 的分支内
  4. 无输出:Exit Block 不产生任何输出变量,不能被后续 Block 引用

AI Workflow Editor