client.projects.wait(...) или client.exports.wait(...) и обращаться к client.tasks.* только когда нужна низкоуровневая проверка задач.
client.tasks.get(taskId, options?)
Получить текущее состояние задачи по ID.
Статусы задач
client.tasks.wait(taskId, options?)
Опрашивать задачу, пока она не перейдёт в терминальное состояние. При успехе возвращает итоговую задачу, при неудаче выбрасывает YoukaTaskError.
Параметры
number
Миллисекунды между опросами. По умолчанию
2000.AbortSignal
Прервать ожидание. Запрос «в полёте» и любая ожидающая задержка отменяются
немедленно.
Ошибки
client.tasks.wait(...) выбрасывает YoukaTaskError, когда задача завершается в состоянии failed, cancelled или timed-out:
client.projects.wait(operation, options?)
Дождаться завершения операции в рамках проекта, затем заново получить проект. Возвращает хэндл операции, терминальную задачу и обновлённый проект.
ProjectOperation
required
Обычно это результат
client.projects.create(...),
client.projects.separateStems(...) или client.projects.syncLyrics(...).client.exports.wait(operationOrId, options?)
Дождаться, пока облачный экспорт не перейдёт в терминальное состояние. Передайте либо ExportOperation, возвращаемый client.exports.create(...), либо строку exportId.
Отмена
ПередайтеAbortSignal, чтобы отменить длительное ожидание:
Что дальше
- Errors — обработка
YoukaTaskErrorи ошибок, допускающих повтор - Exports — ожидание завершения экспорта
- API async jobs — тот же паттерн в «сыром» HTTP
