update deno commons mod

This commit is contained in:
2026-02-08 15:10:36 +08:00
parent 8e59679f17
commit 504cd0c2db

View File

@@ -795,6 +795,9 @@ export class ProcessBar {
}
}
/**
* @deprecated Use {@link fetchDataWithTimeout} instead.
*/
export async function fetchWithTimeout(
input: URL | Request | string,
timeout?: number,
@@ -815,6 +818,31 @@ export async function fetchWithTimeout(
return response;
}
type RequestInitWithTimeout = RequestInit & {
timeoutMillis?: number;
};
export async function fetchDataWithTimeout(
input: URL | Request | string,
init: RequestInitWithTimeout = {},
): Promise<Response> {
const timeout = init.timeoutMillis ?? 10000;
const abortController = new AbortController();
const timeoutHandler = setTimeout(() => {
abortController.abort(
`Fetch '${input}' timeout: ${timeout} ms`,
);
}, timeout);
try {
return await fetch(input, {
...init,
signal: abortController.signal,
});
} finally {
clearTimeout(timeoutHandler);
}
}
export function getCurrentScriptFile(): string {
return fromFileUrl(import.meta.url);
}