feat: parallelize api fetch
This commit is contained in:
+8
-4
@@ -39,11 +39,15 @@ export function card(app: App) {
|
|||||||
"/genshin/:uid/:char",
|
"/genshin/:uid/:char",
|
||||||
async ({ params: { uid, char: charId }, store: { start } }) => {
|
async ({ params: { uid, char: charId }, store: { start } }) => {
|
||||||
try {
|
try {
|
||||||
const avatarStore = await getEnkaAvatarStore();
|
|
||||||
console.log(`${Date.now() - start}ms - Avatar store loaded`);
|
|
||||||
const data = await fetchEnka(uid, false);
|
|
||||||
// const data = mockData;
|
// const data = mockData;
|
||||||
console.log(`${Date.now() - start}ms - Enka data loaded`);
|
const [avatarStore, data] = await Promise.all([
|
||||||
|
getEnkaAvatarStore().finally(() =>
|
||||||
|
console.log(`${Date.now() - start}ms - Avatar store loaded`),
|
||||||
|
),
|
||||||
|
fetchEnka(uid, false).finally(() =>
|
||||||
|
console.log(`${Date.now() - start}ms - Enka data loaded`),
|
||||||
|
),
|
||||||
|
]);
|
||||||
if (typeof data.avatarInfoList === "undefined")
|
if (typeof data.avatarInfoList === "undefined")
|
||||||
return status(400, "The showcase for this UID is private");
|
return status(400, "The showcase for this UID is private");
|
||||||
const char = data.avatarInfoList.find(
|
const char = data.avatarInfoList.find(
|
||||||
|
|||||||
Reference in New Issue
Block a user