From 8c31af51d5b94fec528a950ad5c4ef8ee1f0e07d Mon Sep 17 00:00:00 2001 From: ahyang <53590964+zAhYAng@users.noreply.github.com> Date: Wed, 5 Aug 2026 09:15:26 +0800 Subject: [PATCH] =?UTF-8?q?fix(canvas):=20=E5=88=9B=E4=BD=9C=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=20-=20=E9=A1=B5=E9=9D=A2=E5=88=87=E6=8D=A2=E4=BF=9D?= =?UTF-8?q?=E7=95=99=E5=90=8E=E5=8F=B0=E6=89=A7=E8=A1=8C=E5=B9=B6=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E5=8F=8A=E6=97=B6=E5=81=9C=E6=AD=A2=20(#136)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/src/pages/create/index.tsx | 2 +- web/src/services/api/task-center.ts | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/web/src/pages/create/index.tsx b/web/src/pages/create/index.tsx index 76cad33bf..786d2fc25 100644 --- a/web/src/pages/create/index.tsx +++ b/web/src/pages/create/index.tsx @@ -114,7 +114,7 @@ export default function CreatePage() { }); return () => { cancelled = true; - abortRef.current?.abort(); + // 页面卸载只停止当前页面的状态更新,后台任务由任务中心继续执行,返回页面后再恢复状态。 }; }, []); diff --git a/web/src/services/api/task-center.ts b/web/src/services/api/task-center.ts index b2be34082..12ab01757 100644 --- a/web/src/services/api/task-center.ts +++ b/web/src/services/api/task-center.ts @@ -195,8 +195,8 @@ export function listGenerationTasks(limit = 30, options?: { projectId?: string; return request(api.get("/tasks", { params: { limit, projectId: options?.projectId, activeOnly: options?.activeOnly || undefined } })); } -export function queryGenerationTask(id: string) { - return request(api.get(`/tasks/${encodeURIComponent(id)}`)); +export function queryGenerationTask(id: string, options?: { signal?: AbortSignal }) { + return request(api.get(`/tasks/${encodeURIComponent(id)}`, { signal: options?.signal })); } export function retryGenerationTask(id: string) { @@ -225,7 +225,7 @@ export async function waitForGenerationTask(id: string, options?: { signal?: Abo if (options?.signal?.aborted) throw new DOMException("Aborted", "AbortError"); let task: GenerationTask; try { - task = await queryGenerationTask(id); + task = await queryGenerationTask(id, { signal: options?.signal }); lastTask = task; lastQueryError = undefined; options?.onTaskUpdate?.(task);