12 lines
No EOL
380 B
TypeScript
12 lines
No EOL
380 B
TypeScript
export default async function(url: URL | RequestInfo, request: RequestInit={}, time: number=5000): Promise<Response> {
|
|
const controller = new AbortController();
|
|
const timeout = setTimeout(() => controller.abort(), time);
|
|
|
|
request.signal ??= controller.signal;
|
|
|
|
try {
|
|
return await fetch(url, request);;
|
|
} finally {
|
|
clearTimeout(timeout);
|
|
}
|
|
} |