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 {