工作流输出
声明工作流返回的业务结果,与节点日志分开保存。
工作流输出节点(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 响应。