Skip to content

Commit 8c15797

Browse files
fix(client): avoid memory leak with abort signals
1 parent 5c07dc3 commit 8c15797

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

src/client.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -548,9 +548,10 @@ export class SentDm {
548548
controller: AbortController,
549549
): Promise<Response> {
550550
const { signal, method, ...options } = init || {};
551-
if (signal) signal.addEventListener('abort', () => controller.abort());
551+
const abort = controller.abort.bind(controller);
552+
if (signal) signal.addEventListener('abort', abort, { once: true });
552553

553-
const timeout = setTimeout(() => controller.abort(), ms);
554+
const timeout = setTimeout(abort, ms);
554555

555556
const isReadableBody =
556557
((globalThis as any).ReadableStream && options.body instanceof (globalThis as any).ReadableStream) ||

0 commit comments

Comments
 (0)