Class: Trigger<T>
workflow.Trigger
A PromiseLike helper which exposes its resolve and reject methods.
Trigger is CancellationScope-aware: it is linked to the current scope on construction and throws when that scope is cancelled.
Useful for e.g. waiting for unblocking a Workflow from a Signal.
Example
import { defineSignal, setHandler, sleep, Trigger } from '@temporalio/workflow';
const completeUserInteraction = defineSignal('completeUserInteraction');
export async function waitOnUser(userId: string): Promise<void> {
const userInteraction = new Trigger<boolean>();
// programmatically resolve Trigger
setHandler(completeUserInteraction, () => userInteraction.resolve(true));
const userInteracted = await Promise.race([userInteraction, sleep('30 days')]);
if (!userInteracted) {
await sendReminderEmail(userId);
}
}
Type parameters
| Name |
|---|
T |
Implements
PromiseLike<T>
Constructors
constructor
• new Trigger<T>(): Trigger<T>
Type parameters
| Name |
|---|
T |
Returns
Trigger<T>
Properties
reject
• Readonly reject: (reason?: any) => void
Type declaration
▸ (reason?): void
Parameters
| Name | Type |
|---|---|
reason? | any |
Returns
void
resolve
• Readonly resolve: (value: T | PromiseLike<T>) => void
Type declaration
▸ (value): void
Parameters
| Name | Type |
|---|---|
value | T | PromiseLike<T> |
Returns
void
Methods
then
▸ then<TResult1, TResult2>(onfulfilled?, onrejected?): PromiseLike<TResult1 | TResult2>
Type parameters
| Name | Type |
|---|---|
TResult1 | T |
TResult2 | never |
Parameters
| Name | Type |
|---|---|
onfulfilled? | null | (value: T) => TResult1 | PromiseLike<TResult1> |
onrejected? | null | (reason: any) => TResult2 | PromiseLike<TResult2> |
Returns
PromiseLike<TResult1 | TResult2>
Implementation of
PromiseLike.then