diff --git a/packages/telemetry/src/transport.ts b/packages/telemetry/src/transport.ts index 73d6f1f8b9..8d4ca4815f 100644 --- a/packages/telemetry/src/transport.ts +++ b/packages/telemetry/src/transport.ts @@ -327,7 +327,10 @@ async function fetchWithTimeout( function abortableSleep(ms: number, signal?: AbortSignal): Promise { if (signal?.aborted === true) return Promise.reject(abortError()); return new Promise((resolve, reject) => { - const timer = setTimeout(resolve, ms); + const timer = setTimeout(() => { + signal?.removeEventListener('abort', onAbort); + resolve(); + }, ms); timer.unref?.(); const onAbort = (): void => { clearTimeout(timer);