Skip to main content

Interface: ChildWorkflowHandle<T>

workflow.ChildWorkflowHandle

A client side handle to a single Workflow instance. It can be used to signal, wait for completion, and cancel a Workflow execution.

Given the following Workflow definition:

export const incrementSignal = defineSignal('increment');
export async function counterWorkflow(initialValue: number): Promise<void>;

Start a new Workflow execution and get a handle for interacting with it:

// Start the Workflow with initialValue of 2.
const handle = await startWorkflow(counterWorkflow, { args: [2] });
await handle.signal(incrementSignal, 2);
await handle.result(); // throws WorkflowExecutionTerminatedError

Type parameters​

NameType
Textends Workflow

Hierarchy​

Properties​

firstExecutionRunId​

• Readonly firstExecutionRunId: string

The runId of the initial run of the bound Workflow


workflowId​

• Readonly workflowId: string

The workflowId of the current Workflow

Inherited from​

BaseWorkflowHandle.workflowId

Methods​

result​

▸ result(): Promise<WorkflowResultType<T>>

Promise that resolves when Workflow execution completes

Returns​

Promise<WorkflowResultType<T>>

Inherited from​

BaseWorkflowHandle.result


signal​

▸ signal<Args, Name>(def, ...args): Promise<void>

Signal a running Workflow.

To provide call-site TypeInfo when signaling by name, use signalWithOptions.

Type parameters​

NameType
Argsextends any[] = []
Nameextends string = string

Parameters​

NameTypeDescription
defstring | SignalDefinition<Args, Name>a signal definition as returned from defineSignal, or a signal name
...argsArgs-

Returns​

Promise<void>

Example

await handle.signal(incrementSignal, 3);

Inherited from​

BaseWorkflowHandle.signal


signalWithOptions​

▸ signalWithOptions<Args>(signalName, options): Promise<void>

Signal a running Workflow by Signal name with additional options, including call-site TypeInfo and Event Groups. Variadic signal cannot take an options object because Signal arguments are already rest parameters.

Type parameters​

NameType
Argsextends any[] = []

Parameters​

NameType
signalNamestring
optionsWorkflowSignalOptions<Args> & EventGroupsOptions

Returns​

Promise<void>

Overrides​

BaseWorkflowHandle.signalWithOptions