Signature
tsSignature
export function wait(ms: number, signal: AbortSignal): Promise<Result<void, Cancelled>>;Imports
tsImport
import { wait } from "@/lib/flow/wait";import { wait } from "@/lib/flow";Parameters
msnumber
Duration in milliseconds.
signalAbortSignal
Signal used to cancel the wait.
Returns
A promise resolving to success or cancellation.
Details
Non-positive durations resolve immediately with success. If the signal aborts before the timer
completes, the promise resolves with a cancellation result instead of throwing.
Examples
tsExample
const waited = await wait(250, signal);Related Symbols
Result
Explicit success-or-failure outcome used throughout Flow.
type
Source
tsflow/wait.ts:19-42
export function wait(ms: number, signal: AbortSignal): Promise<Result<void, Cancelled>> { if (signal.aborted) { return Promise.resolve(resultFromSignal(signal)); }
if (ms <= 0) { return Promise.resolve(ok(undefined)); }
return new Promise((resolve) => { const timeout = setTimeout(() => { signal.removeEventListener("abort", onAbort); resolve(ok(undefined)); }, ms);
const onAbort = () => { clearTimeout(timeout); signal.removeEventListener("abort", onAbort); resolve(resultFromSignal(signal)); };
signal.addEventListener("abort", onAbort, { once: true }); });}