fix(canvas): 创作任务 - 页面切换保留后台执行并支持及时停止 (#136)

This commit is contained in:
ahyang
2026-08-05 09:15:26 +08:00
committed by GitHub
parent 96f68289c7
commit 8c31af51d5
2 changed files with 4 additions and 4 deletions

View File

@@ -114,7 +114,7 @@ export default function CreatePage() {
});
return () => {
cancelled = true;
abortRef.current?.abort();
// 页面卸载只停止当前页面的状态更新,后台任务由任务中心继续执行,返回页面后再恢复状态。
};
}, []);

View File

@@ -195,8 +195,8 @@ export function listGenerationTasks(limit = 30, options?: { projectId?: string;
return request<GenerationTask[]>(api.get("/tasks", { params: { limit, projectId: options?.projectId, activeOnly: options?.activeOnly || undefined } }));
}
export function queryGenerationTask(id: string) {
return request<GenerationTask>(api.get(`/tasks/${encodeURIComponent(id)}`));
export function queryGenerationTask(id: string, options?: { signal?: AbortSignal }) {
return request<GenerationTask>(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);