Skip to content

Commit e6cbcb4

Browse files
fix(client): avoid memory leak with abort signals
1 parent b96b21e commit e6cbcb4

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
@@ -615,9 +615,10 @@ export class Finch {
615615
controller: AbortController,
616616
): Promise<Response> {
617617
const { signal, method, ...options } = init || {};
618-
if (signal) signal.addEventListener('abort', () => controller.abort());
618+
const abort = controller.abort.bind(controller);
619+
if (signal) signal.addEventListener('abort', abort, { once: true });
619620

620-
const timeout = setTimeout(() => controller.abort(), ms);
621+
const timeout = setTimeout(abort, ms);
621622

622623
const isReadableBody =
623624
((globalThis as any).ReadableStream && options.body instanceof (globalThis as any).ReadableStream) ||

0 commit comments

Comments
 (0)