Merge pull request #1122 from movie-web/fix/tmdb

Use vanilla AbortController for compatability
This commit is contained in:
William Oldham 2024-04-15 20:13:55 +01:00 committed by GitHub
commit 4712d8fc5d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

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