diff --git a/apps/ai-game-creator-shell/src/view/project-development/index.tsx b/apps/ai-game-creator-shell/src/view/project-development/index.tsx index b8fc97384..ce120c950 100644 --- a/apps/ai-game-creator-shell/src/view/project-development/index.tsx +++ b/apps/ai-game-creator-shell/src/view/project-development/index.tsx @@ -2183,14 +2183,17 @@ export default function ProjectDevelopmentView({ hasSnapshot: canReuseSnapshot, }; }); - void invoke( - 'read_local_project_resource_graph', - { - projectPath, - expectedProjectId: manifest.projectId, - resources: resourceGraphInputs, - }, - ) + const readResourceGraph = () => + invoke( + 'read_local_project_resource_graph', + { + projectPath, + expectedProjectId: manifest.projectId, + resources: resourceGraphInputs, + }, + ); + void new Promise((resolve) => setTimeout(resolve, 0)) + .then(readResourceGraph) .then((readModel) => { if (!cancelled) { setResourceGraphState({ @@ -7199,41 +7202,42 @@ export default function ProjectDevelopmentView({ setResourceAssetGenerationTasksPanelOpen(false); resourceAssetGenerationPanelSubmissionRef.current = null; setResourceAssetGenerationPanelReopen(null); - void (async () => { - const reportUnavailable = () => { - if (!cancelled) { - setResourceWorkbenchNotice( - '生成任务列表读取失败,暂时无法恢复历史任务', - ); - } - }; - let records: LocalProjectAssetGenerationTaskRecord[]; - try { - const response = await invoke( - 'list_local_project_asset_generations', - { projectPath }, - ); - if (!Array.isArray(response)) { + void new Promise((resolve) => setTimeout(resolve, 0)).then( + async () => { + const reportUnavailable = () => { + if (!cancelled) { + setResourceWorkbenchNotice( + '生成任务列表读取失败,暂时无法恢复历史任务', + ); + } + }; + let records: LocalProjectAssetGenerationTaskRecord[]; + try { + const response = await invoke< + LocalProjectAssetGenerationTaskRecord[] + >('list_local_project_asset_generations', { projectPath }); + if (!Array.isArray(response)) { + reportUnavailable(); + return; + } + records = response; + } catch { reportUnavailable(); return; } - records = response; - } catch { - reportUnavailable(); - return; - } - if (cancelled) { - return; - } - const restored = mergeResourceCanvasAssetGenerationTasksWithRecords( - resourceAssetGenerationTasksRef.current.filter( - (task) => task.projectId === projectId, - ), - records, - ); - resourceAssetGenerationTasksRef.current = restored; - setResourceAssetGenerationTasks(restored); - })(); + if (cancelled) { + return; + } + const restored = mergeResourceCanvasAssetGenerationTasksWithRecords( + resourceAssetGenerationTasksRef.current.filter( + (task) => task.projectId === projectId, + ), + records, + ); + resourceAssetGenerationTasksRef.current = restored; + setResourceAssetGenerationTasks(restored); + }, + )(); return () => { cancelled = true; };