sendou.ink/app/utils/fetch.ts
Kalle fd48bced91
Migrate Prettier/Eslint/Stylelint setup to Biome (#1772)
* Initial

* CSS lint

* Test CI

* Add 1v1, 2v2, and 3v3 Tags (#1771)

* Initial

* CSS lint

* Test CI

* Rename step

---------

Co-authored-by: xi <104683822+ximk@users.noreply.github.com>
2024-06-24 13:07:17 +03:00

19 lines
441 B
TypeScript

// 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();
console.error("Fetch timed out");
}, timeout);
const response = await fetch(input, { signal: controller.signal, ...init });
clearTimeout(timeoutId);
return response;
}