co-mono/packages/coding-agent/src/utils/sleep.ts
2026-01-24 01:38:58 +01:00

18 lines
402 B
TypeScript

/**
* Sleep helper that respects abort signal.
*/
export function sleep(ms: number, signal?: AbortSignal): Promise<void> {
return new Promise((resolve, reject) => {
if (signal?.aborted) {
reject(new Error("Aborted"));
return;
}
const timeout = setTimeout(resolve, ms);
signal?.addEventListener("abort", () => {
clearTimeout(timeout);
reject(new Error("Aborted"));
});
});
}