mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-03-21 18:04:39 -05:00
21 lines
476 B
TypeScript
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;
|
|
}
|