From e496449c3105771f5f1363c5a99a66c5de315acc Mon Sep 17 00:00:00 2001 From: shenmo Date: Thu, 16 Jul 2026 14:04:27 +0800 Subject: [PATCH] refactor(app): adjust loading sequence of app data MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 调整了初始化时的数据加载顺序,将侧边栏预加载移至全部应用加载完成后执行,避免网络连接被抢占,同时简化了Promise调用逻辑 --- src/App.vue | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/src/App.vue b/src/App.vue index 5ef24d27..f8da1eea 100644 --- a/src/App.vue +++ b/src/App.vue @@ -2838,16 +2838,11 @@ onMounted(async () => { await loadTabCategories(); - // 先启动侧边栏入口预加载,让其请求优先进入网络队列 - // 避免被「全部应用」的大量并发请求抢占连接池 - const sidebarPreloadPromise = preloadSidebarTabApps(); - loading.value = true; homeLoading.value = true; - // 侧边栏入口预加载先启动,全部应用和主页数据随后并行加载 - Promise.all([ - sidebarPreloadPromise, + // 先加载全部应用,再预加载侧边栏入口 + await Promise.all([ loadHome(), new Promise((resolve) => { loadApps(() => { @@ -2855,12 +2850,16 @@ onMounted(async () => { resolve(); }); }), - ]).then(() => { - // 所有数据加载完成后的回调(可选) - logger.info("所有应用数据加载完成"); - void maybePromptInstalledSync(); + ]); + + // 全部应用加载完成后再预加载侧边栏入口 + preloadSidebarTabApps().then(() => { + logger.info("侧边栏入口预加载完成"); }); + void maybePromptInstalledSync(); + logger.info("所有应用数据加载完成"); + // 设置键盘导航 document.addEventListener("keydown", (e) => { if (showPreview.value) {