浏览代码

refac: speed up app mount by parallelizing API requests

Jun Siang Cheah 11 月之前
父节点
当前提交
929384e39a
共有 1 个文件被更改,包括 20 次插入8 次删除
  1. 20 8
      src/routes/(app)/+layout.svelte

+ 20 - 8
src/routes/(app)/+layout.svelte

@@ -87,17 +87,29 @@
 				// IndexedDB Not Found
 				// IndexedDB Not Found
 			}
 			}
 
 
-			await models.set(await getModels());
-			await settings.set(JSON.parse(localStorage.getItem('settings') ?? '{}'));
-
-			await modelfiles.set(await getModelfiles(localStorage.token));
-			await prompts.set(await getPrompts(localStorage.token));
-			await documents.set(await getDocs(localStorage.token));
-			await tags.set(await getAllChatTags(localStorage.token));
+			settings.set(JSON.parse(localStorage.getItem('settings') ?? '{}'));
+
+			await Promise.all([
+				(async () => {
+					models.set(await getModels());
+				})(),
+				(async () => {
+					modelfiles.set(await getModelfiles(localStorage.token));
+				})(),
+				(async () => {
+					prompts.set(await getPrompts(localStorage.token));
+				})(),
+				(async () => {
+					documents.set(await getDocs(localStorage.token));
+				})(),
+				(async () => {
+					tags.set(await getAllChatTags(localStorage.token));
+				})()
+			]);
 
 
 			modelfiles.subscribe(async () => {
 			modelfiles.subscribe(async () => {
 				// should fetch models
 				// should fetch models
-				await models.set(await getModels());
+				models.set(await getModels());
 			});
 			});
 
 
 			document.addEventListener('keydown', function (event) {
 			document.addEventListener('keydown', function (event) {