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