Files
wechat-article-exporter/server/utils/fetch_external.ts
2026-02-08 15:56:28 +08:00

23 lines
525 B
TypeScript

interface FetchExternalOption {
label: string;
default: any;
}
export async function fetchExternal(url: string, option: FetchExternalOption): Promise<any> {
try {
const resp = await fetch(url, {
signal: AbortSignal.timeout(30_000),
});
if (!resp.ok) {
throw new Error(`${option.label}失败: ${resp.status}`);
}
return await resp.json();
} catch (error) {
// 记录日志,便于后期排查
console.error(`${option.label}失败:`, error);
return option.default;
}
}