const timerNode = workflow.createTimerNode({
title: "外部接口调用",
});
export const demo = workflow.defineWorkflow<Input, OutputPayload>({
name: "demo",
async run(input, context) {
const timer = await workflow.runNode(timerNode, {
timerId: `api-${Date.now()}`,
metadata: { provider: "example" },
}, context);
try {
const result = await callExternalApi(input);
await workflow.endTimer(timer, context, { message: "接口调用完成" });
return createOutput(result);
} catch (error) {
await workflow.endTimer(timer, context, {
status: "failed",
message: error instanceof Error ? error.message : "接口调用失败",
});
throw error;
}
},
});