diff options
Diffstat (limited to 'src/util/time.ts')
| -rw-r--r-- | src/util/time.ts | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/util/time.ts b/src/util/time.ts index 73990ad..d16435f 100644 --- a/src/util/time.ts +++ b/src/util/time.ts @@ -1,17 +1,17 @@ export const sleep = (ms: number, signal?: AbortSignal): Promise<void> => new Promise((resolve, reject) => { if (signal?.aborted) { - reject(new Error("aborted")); + reject(signal.reason ?? new Error("aborted")); return; } + const onAbort = (): void => { + clearTimeout(timer); + reject(signal?.reason ?? new Error("aborted")); + }; const timer = setTimeout(() => { signal?.removeEventListener("abort", onAbort); resolve(); }, ms); - const onAbort = (): void => { - clearTimeout(timer); - reject(new Error("aborted")); - }; signal?.addEventListener("abort", onAbort, { once: true }); }); |
