UNPKG

@storm-stack/utilities

Version:

This package includes various base utility class and various functions to assist in the development process.

21 lines (20 loc) 545 B
import { AbortError } from "../types.mjs"; export function delay(ms, { signal } = {}) { return new Promise((resolve, reject) => { const abortError = () => { reject(new AbortError()); }; const abortHandler = () => { clearTimeout(timeoutId); abortError(); }; if (signal?.aborted) { return abortError(); } const timeoutId = setTimeout(resolve, ms); signal?.addEventListener("abort", abortHandler, { once: true }); }); } export function sleep(ms, options) { return delay(ms, options); }