From d40c083233509fdf10508bf83b006d066557ff77 Mon Sep 17 00:00:00 2001 From: syuilo <4439005+syuilo@users.noreply.github.com> Date: Mon, 2 Jun 2025 08:43:04 +0900 Subject: enhance(frontend): 非同期的なコンポーネントの読み込み時のハンドリングを強化 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/frontend/src/os.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/frontend/src/os.ts b/packages/frontend/src/os.ts index d50f50cf20..be247f96c4 100644 --- a/packages/frontend/src/os.ts +++ b/packages/frontend/src/os.ts @@ -211,13 +211,17 @@ export async function popupAsyncWithDialog( props: ComponentProps, events: Partial> = {}, ): Promise<{ dispose: () => void }> { - const closeWaiting = waiting(); - let component: T; + let closeWaiting = () => {}; + + const timer = window.setTimeout(() => { + closeWaiting = waiting(); + }, 100); // コンポーネントがキャッシュされている場合にもwaitingが表示されて画面がちらつくのを防止するためにラグを追加 try { component = await componentFetching; } catch (err) { + window.clearTimeout(timer); closeWaiting(); alert({ type: 'error', @@ -227,6 +231,7 @@ export async function popupAsyncWithDialog( throw err; } + window.clearTimeout(timer); closeWaiting(); markRaw(component); -- cgit v1.2.3-freya