工作流程輸出
宣告工作流程回傳的業務結果,與節點日誌分開儲存。
工作流程輸出節點(Outputs)定義工作流程成功後回傳給呼叫方的值。程式碼或應用操作回傳的值,在對應到工作流程介面之前,都只是節點結果。
定義欄位與來源
一個工作流程最多有一個工作流程輸出節點。透過 config.outputDefs 定義具名欄位,透過 node.add.inputs 或 input.set 為各欄位綁定來源。
{
"op": "node.add", "as": "outputs", "type": "outputs", "name": "Workflow result",
"config": {
"outputDefs": { "message": { "schema": { "type": "string" }, "nullable": false } }
},
"inputs": { "message": { "kind": "output", "node": "$greet", "port": "message" } }
}
這裡的 $greet 引用同一批修改中較早建立的程式碼節點。還需要單獨連線到工作流程輸出節點的執行路徑。輸出定義沒有預設值。
執行行為
工作流程輸出節點是執行路徑的終點。它按一般匯合規則等待前驅節點,再從所選路徑計算宣告的欄位。它沒有下游執行連線,也沒有供下游讀取的資料連接埠。


- 輸入
- {"name":"Ada"}
- 預期結果
- {"message":"Hello, Ada!"}
- 執行前準備
- 匯入或執行此案例需要 Open Flow 服務;預覽本身可離線使用。
成功結果與節點日誌分開保留,呼叫工作流程節點接收的就是這些業務輸出。執行一個未定義欄位的工作流程輸出節點,會得到空物件;沒有工作流程輸出節點的工作流程,則不宣告業務結果。
HTTP 回應
Webhook 可以在整次執行成功後,將工作流程輸出作為回應回傳。這與 Webhook 回應節點不同,後者可以提前回應,讓執行繼續執行。如果工作流程輸出節點被跳過,就無法提供動態的工作流程輸出 HTTP 回應。