From a98bfdd0c6e6717ca809bcb9e62b0315c49c0a17 Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Sun, 9 Feb 2025 14:52:43 -0600 Subject: [PATCH] fetchWorker: try throwing a preemptive AbortError inside the worker itself --- src/workers/fetch.worker.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/workers/fetch.worker.ts b/src/workers/fetch.worker.ts index d0cd1f44..7d0d1fa9 100644 --- a/src/workers/fetch.worker.ts +++ b/src/workers/fetch.worker.ts @@ -13,6 +13,10 @@ export const FetchWorker = { init: Omit, signal: AbortSignal | null | undefined, ): Promise<[BodyInit, ResponseInit]> { + if (signal?.aborted) { + throw new DOMException('The signal has been aborted', 'AbortError'); + } + logi({ level: 'debug', ns: 'ditto.fetch', state: 'started', method: init.method ?? 'GET', url }); const response = await safeFetch(url, { ...init, signal });