sendou.ink/app/utils/fetch.ts
Kalle dd1adad94b
Some checks are pending
Tests and checks on push / run-checks-and-tests (push) Waiting to run
Updates translation progress / update-translation-progress-issue (push) Waiting to run
BIome v2 upgrade
2025-06-22 16:49:27 +03:00

21 lines
476 B
TypeScript

import { logger } from "./logger";
// https://stackoverflow.com/a/50101022
export async function fetchWithTimeout(
input: RequestInfo | URL,
init?: RequestInit | undefined,
timeout = 5000,
) {
const controller = new AbortController();
const timeoutId = setTimeout(() => {
controller.abort();
logger.error("Fetch timed out");
}, timeout);
const response = await fetch(input, { signal: controller.signal, ...init });
clearTimeout(timeoutId);
return response;
}