Files
everyone-can-use-english/1000h-portal/utils/http.ts
2024-07-01 20:11:12 +09:00

28 lines
559 B
TypeScript

export async function request(url: string) {
const perfix = "http-cache";
const key = `${perfix}-${url}`;
try {
const value = JSON.parse(localStorage.getItem(key) || "");
if (Number(value.expire_time) > new Date().getTime()) {
return value.data;
}
} catch (error) {
// ignore
}
const resp = await fetch(url, { method: "Get" });
const data = await resp.json();
localStorage.setItem(
key,
JSON.stringify({
expire_time: new Date().getTime() + 1000 * 60 * 60 * 24,
data,
})
);
return data;
}