fix(canvas): 创作任务 - 页面切换保留后台执行并支持及时停止 (#136)
This commit is contained in:
@@ -114,7 +114,7 @@ export default function CreatePage() {
|
||||
});
|
||||
return () => {
|
||||
cancelled = true;
|
||||
abortRef.current?.abort();
|
||||
// 页面卸载只停止当前页面的状态更新,后台任务由任务中心继续执行,返回页面后再恢复状态。
|
||||
};
|
||||
}, []);
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user