Interface: ChildWorkflowHandle<T>
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
Extends
Type Parameters
T
T extends Workflow
Properties
firstExecutionRunId
readonlyfirstExecutionRunId:string
The runId of the initial run of the bound Workflow
workflowId
readonlyworkflowId:string
The workflowId of the current Workflow
Inherited from
Methods
result()
result():
Promise<WorkflowResultType<T>>
Promise that resolves when Workflow execution completes
Returns
Promise<WorkflowResultType<T>>
Inherited from
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
Args
Args extends any[] = []
Name
Name extends string = string
Parameters
def
string | SignalDefinition<Args, Name>
a signal definition as returned from defineSignal, or a signal name
args
...Args
Returns
Promise<void>
Example
await handle.signal(incrementSignal, 3);
Inherited from
signalWithOptions()
signalWithOptions<
Args>(signalName,options):Promise<void>
Experimental
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
Args
Args extends any[] = []
Parameters
signalName
string
options
WorkflowSignalOptions<Args> & EventGroupsOptions
Returns
Promise<void>