From a9d80ddf243aab52844a82fce1afdd5f1bbe88b0 Mon Sep 17 00:00:00 2001 From: William Oldham Date: Mon, 15 Apr 2024 20:10:44 +0100 Subject: [PATCH] Use vanilla AbortController for compat --- src/backend/metadata/tmdb.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/backend/metadata/tmdb.ts b/src/backend/metadata/tmdb.ts index 331f022f..1cbb24f1 100644 --- a/src/backend/metadata/tmdb.ts +++ b/src/backend/metadata/tmdb.ts @@ -153,6 +153,12 @@ const tmdbHeaders = { Authorization: `Bearer ${apiKey}`, }; +function abortOnTimeout(timeout: number): AbortSignal { + const controller = new AbortController(); + setTimeout(() => controller.abort(), timeout); + return controller.signal; +} + async function get(url: string, params?: object): Promise { if (!apiKey) throw new Error("TMDB API key not set"); try { @@ -162,7 +168,7 @@ async function get(url: string, params?: object): Promise { params: { ...params, }, - signal: AbortSignal.timeout(5000), + signal: abortOnTimeout(5000), }); } catch (err) { return mwFetch(encodeURI(url), { @@ -171,7 +177,7 @@ async function get(url: string, params?: object): Promise { params: { ...params, }, - signal: AbortSignal.timeout(30000), + signal: abortOnTimeout(30000), }); } }