INNER CODE UNIT · TypeScript

sleep

grammyjs/grammY · src/bot.ts:709

async function sleep(milliseconds: number, signal?: AbortSignal) {
    let handle: Parameters<typeof clearTimeout>[0];
    let reject: ((err: Error) => void) | undefined;
    function abort() {
        reject?.(new Error("Aborted delay"));
        if (handle !== undefined) clearTimeout(handle);
    }
    try {
        await new Promise<void>((res, rej) => {
            reject = rej;
            if (signal?.aborted) {
                abort();
                return;
            }
            signal?.addEventListener("abort", abort);
            handle = setTimeout(res, milliseconds);
        });
    } finally {

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…