client.projects.wait(...) 或 client.exports.wait(...),只有在需要进行底层任务检查时才使用 client.tasks.*。
client.tasks.get(taskId, options?)
按 ID 获取任务的当前状态。
任务状态
client.tasks.wait(taskId, options?)
轮询任务,直到它进入终态。成功时返回最终任务;失败时抛出 YoukaTaskError。
选项
number
两次轮询之间的毫秒数。默认为
2000。AbortSignal
中止等待。进行中的请求以及任何尚未执行的延迟都会立即取消。
错误
当任务以failed、cancelled 或 timed-out 结束时,client.tasks.wait(...) 会抛出 YoukaTaskError:
client.projects.wait(operation, options?)
等待项目范围内的操作完成,然后重新获取项目。返回操作句柄、进入终态的任务以及更新后的项目。
ProjectOperation
required
通常是
client.projects.create(...)、client.projects.separateStems(...) 或 client.projects.syncLyrics(...) 的返回结果。client.exports.wait(operationOrId, options?)
等待云端导出进入终态。可传入 client.exports.create(...) 返回的 ExportOperation,或一个 exportId 字符串。
取消
传入AbortSignal 以取消长时间等待:
下一步
- 错误 — 处理
YoukaTaskError和可重试错误 - 导出 — 等待导出完成
- API async jobs — 在原始 HTTP 中使用相同模式
