Browse Source

Use vanilla AbortController for compat

pull/1122/head
William Oldham 1 year ago
parent
commit
a9d80ddf24
  1. 10
      src/backend/metadata/tmdb.ts

10
src/backend/metadata/tmdb.ts

@ -153,6 +153,12 @@ const tmdbHeaders = { @@ -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<T>(url: string, params?: object): Promise<T> {
if (!apiKey) throw new Error("TMDB API key not set");
try {
@ -162,7 +168,7 @@ async function get<T>(url: string, params?: object): Promise<T> { @@ -162,7 +168,7 @@ async function get<T>(url: string, params?: object): Promise<T> {
params: {
...params,
},
signal: AbortSignal.timeout(5000),
signal: abortOnTimeout(5000),
});
} catch (err) {
return mwFetch<T>(encodeURI(url), {
@ -171,7 +177,7 @@ async function get<T>(url: string, params?: object): Promise<T> { @@ -171,7 +177,7 @@ async function get<T>(url: string, params?: object): Promise<T> {
params: {
...params,
},
signal: AbortSignal.timeout(30000),
signal: abortOnTimeout(30000),
});
}
}

Loading…
Cancel
Save