Fix canvas generation cleanup
This commit is contained in:
@@ -252,28 +252,40 @@ export function blobToDataUrl(blob: Blob) {
|
||||
});
|
||||
}
|
||||
|
||||
export async function waitForImageTaskResult(taskId: string, onStatus?: (status: AiTaskStatus) => void) {
|
||||
export async function waitForImageTaskResult(
|
||||
taskId: string,
|
||||
onStatus?: (status: AiTaskStatus) => void,
|
||||
abortRef?: { current: boolean },
|
||||
) {
|
||||
const resultUrl = await waitForTask(taskId, {
|
||||
kind: "image",
|
||||
abortRef,
|
||||
onProgress: (e) => {
|
||||
if (onStatus) {
|
||||
onStatus({ taskId, status: e.status, progress: e.progress, resultUrl: e.resultUrl ?? undefined, error: e.error ?? undefined } as AiTaskStatus);
|
||||
}
|
||||
},
|
||||
});
|
||||
if (abortRef?.current) return "";
|
||||
if (!resultUrl) throw new Error("生成任务已完成,但服务器没有返回结果地址,请稍后重试");
|
||||
return resultUrl;
|
||||
}
|
||||
|
||||
export async function waitForVideoTaskResult(taskId: string, onStatus?: (status: AiTaskStatus) => void) {
|
||||
export async function waitForVideoTaskResult(
|
||||
taskId: string,
|
||||
onStatus?: (status: AiTaskStatus) => void,
|
||||
abortRef?: { current: boolean },
|
||||
) {
|
||||
const resultUrl = await waitForTask(taskId, {
|
||||
kind: "video",
|
||||
abortRef,
|
||||
onProgress: (e) => {
|
||||
if (onStatus) {
|
||||
onStatus({ taskId, status: e.status, progress: e.progress, resultUrl: e.resultUrl ?? undefined, error: e.error ?? undefined } as AiTaskStatus);
|
||||
}
|
||||
},
|
||||
});
|
||||
if (abortRef?.current) return "";
|
||||
if (!resultUrl) throw new Error("视频生成任务已完成,但服务器没有返回结果地址,请稍后重试");
|
||||
return resultUrl;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user