MCPcopy Create free account
hub / github.com/TanStack/ai / delay

Function delay

packages/ai-sandbox-sprites/src/client.ts:756–769  ·  view source on GitHub ↗

Abortable delay: resolves after `ms`, or rejects with AbortError if aborted.

(ms: number, signal?: AbortSignal)

Source from the content-addressed store, hash-verified

754
755/** Abortable delay: resolves after `ms`, or rejects with AbortError if aborted. */
756function delay(ms: number, signal?: AbortSignal): Promise<void> {
757 if (signal?.aborted) return Promise.reject(signalReason(signal))
758 return new Promise<void>((resolve, reject) => {
759 const timer = setTimeout(() => {
760 signal?.removeEventListener('abort', onAbort)
761 resolve()
762 }, ms)
763 const onAbort = (): void => {
764 clearTimeout(timer)
765 reject(signalReason(signal))
766 }
767 signal?.addEventListener('abort', onAbort, { once: true })
768 })
769}
770
771function signalReason(signal: AbortSignal | undefined): Error {
772 const reason = signal?.reason

Callers 2

restoreCheckpointMethod · 0.85
waitUntilReadyMethod · 0.85

Calls 2

signalReasonFunction · 0.85
addEventListenerMethod · 0.45

Tested by

no test coverage detected