From 58fe192d540550815ecfb63b72599e0de98fb832 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Kwa=C5=9Bniak?= Date: Sat, 28 Jan 2023 13:39:32 +0100 Subject: [PATCH] Fix promise utils --- src/utils/promise.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/utils/promise.ts b/src/utils/promise.ts index 5b0b310..21c2f1f 100644 --- a/src/utils/promise.ts +++ b/src/utils/promise.ts @@ -1,4 +1,4 @@ -export function cancellablePromise( +export async function cancellablePromise( signal: AbortSignal, promise: Promise ) { @@ -6,9 +6,13 @@ export function cancellablePromise( return Promise.race([ new Promise((_resolve, reject) => { - signal.addEventListener("abort", () => { - reject(signal.reason); - }); + signal.addEventListener( + "abort", + () => { + reject(signal.reason); + }, + { once: true, passive: true } + ); }), promise, ]);