refactor(app): adjust loading sequence of app data

调整了初始化时的数据加载顺序,将侧边栏预加载移至全部应用加载完成后执行,避免网络连接被抢占,同时简化了Promise调用逻辑
This commit is contained in:
2026-07-16 14:04:27 +08:00
parent 0a908a31f6
commit e496449c31
+10 -11
View File
@@ -2838,16 +2838,11 @@ onMounted(async () => {
await loadTabCategories(); await loadTabCategories();
// 先启动侧边栏入口预加载,让其请求优先进入网络队列
// 避免被「全部应用」的大量并发请求抢占连接池
const sidebarPreloadPromise = preloadSidebarTabApps();
loading.value = true; loading.value = true;
homeLoading.value = true; homeLoading.value = true;
// 侧边栏入口预加载先启动,全部应用和主页数据随后并行加载 // 先加载全部应用,再预加载侧边栏入口
Promise.all([ await Promise.all([
sidebarPreloadPromise,
loadHome(), loadHome(),
new Promise<void>((resolve) => { new Promise<void>((resolve) => {
loadApps(() => { loadApps(() => {
@@ -2855,12 +2850,16 @@ onMounted(async () => {
resolve(); resolve();
}); });
}), }),
]).then(() => { ]);
// 所有数据加载完成后的回调(可选)
logger.info("所有应用数据加载完成"); // 全部应用加载完成后再预加载侧边栏入口
void maybePromptInstalledSync(); preloadSidebarTabApps().then(() => {
logger.info("侧边栏入口预加载完成");
}); });
void maybePromptInstalledSync();
logger.info("所有应用数据加载完成");
// 设置键盘导航 // 设置键盘导航
document.addEventListener("keydown", (e) => { document.addEventListener("keydown", (e) => {
if (showPreview.value) { if (showPreview.value) {