# 等待继续

Source: https://openflow.run/zh-cn/docs/nodes/wait/
Language: zh-CN
Product version: 0.1.0-beta.77

暂停一个分支，等待手动继续或到达设定时间。

某个分支需要暂停、其他已就绪任务仍可继续时，使用等待继续节点（Wait）。继续执行时，仍是同一次运行，使用原先固定的执行上下文。

## 提示与上下文

配置提示词，并绑定具名上下文输入，供负责继续任务的人或系统查看。

```json
{
  "op": "node.add", "as": "review", "type": "wait", "name": "Wait for review",
  "prompt": "Continue after the draft has been reviewed.",
  "inputs": { "draft": { "kind": "value", "value": "A proposed customer reply" } }
}
```

通知任务连接到 `pending` 路径；必须等待的后续任务连接到 `continue` 路径。两条路径都需要明确连接。

等待节点暂停当前分支，接受继续请求后，在同一次运行中返回结果。

**输入**
启动工作流，再对待处理的等待项提交继续请求。

**预期结果**
{"message":"Review finished"}

**运行前准备**
导入或执行此案例需要 Open Flow 服务；预览本身可离线使用。

[下载工作流](https://openflow.run/docs/examples/wait-and-resume.openflow.json)

## 输出与决定

`pending` 提供提示词、上下文输入、过期时间和可用的操作链接。`continue` 提供被接受的操作、处理时间、评论和上下文输入。只能在这些对象实际存在的路径上绑定它们。

部署端会先持久化等待项，再启动通知分支。最先被接受的继续请求生效，重复提交不会再次恢复执行。公开操作链接本身就是限定范围的访问凭证，不应写进普通公开日志。

## 自动继续

等待节点可以选配静态时间配置：

```json
{
  "op": "node.update", "node": "WAIT_NODE_REFERENCE",
  "set": { "config": { "autoContinue": { "kind": "after", "durationMs": 3600000 } } }
}
```

指定绝对时间时，使用 `kind: "at"`，并填写带明确时区偏移的时间戳。相对时间从每次登记等待项时开始计算。仍可手动继续，最先被接受的请求生效。Server 要求计划继续时间早于七天过期时间。

如果只允许手动等待，应明确清除 `config.autoContinue`。审批节点不支持此时间选项。等待节点没有普通任务重试或 `onError` 策略。

## 资料来源

*   [docs/authoring/node-authoring.md](https://github.com/oomol-lab/open-flow/blob/e25a738d170322734572a0b8a1323cb00b9d355a/docs/authoring/node-authoring.md#wait-automatic-continuation)
*   [docs/control/contracts/control-api.md](https://github.com/oomol-lab/open-flow/blob/e25a738d170322734572a0b8a1323cb00b9d355a/docs/control/contracts/control-api.md#9-public-wait-action-hook)
*   [docs/control/contracts/control-api.md](https://github.com/oomol-lab/open-flow/blob/e25a738d170322734572a0b8a1323cb00b9d355a/docs/control/contracts/control-api.md#wait-automatic-continuation)
*   [packages/open-flow/src/workbench/browser/runtime/editor/addNodeOptions.ts](https://github.com/oomol-lab/open-flow/blob/e25a738d170322734572a0b8a1323cb00b9d355a/packages/open-flow/src/workbench/browser/runtime/editor/addNodeOptions.ts)
