# 等待繼續

Source: https://openflow.run/zh-tw/docs/nodes/wait/
Language: zh-TW
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)
