Skip to main content
Каждая асинхронная операция в Youka в итоге выполняется как задача, но основная поверхность SDK теперь возвращает хэндлы операций вместо «сырых» ID задач. Большинству пользователей следует использовать 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