Skip to main content
Ogni operazione asincrona in Youka alla fine viene eseguita come un’attività, ma la superficie principale dell’SDK ora restituisce handle di operazione invece di ID attività grezzi. La maggior parte dei chiamanti dovrebbe usare client.projects.wait(...) o client.exports.wait(...) e ricorrere a client.tasks.* solo quando serve un’ispezione di basso livello delle attività.

client.tasks.get(taskId, options?)

Recupera lo stato corrente di un’attività tramite ID.

Stati dell’attività

client.tasks.wait(taskId, options?)

Esegue il polling di un’attività finché non raggiunge uno stato terminale. Restituisce l’attività finale in caso di successo, genera YoukaTaskError in caso di errore.

Opzioni

number
Millisecondi tra un polling e l’altro. Il valore predefinito è 2000.
AbortSignal
Annulla l’attesa. La richiesta in corso e qualsiasi ritardo in sospeso vengono annullati immediatamente.

Errori

client.tasks.wait(...) genera YoukaTaskError quando l’attività termina in failed, cancelled o timed-out:

client.projects.wait(operation, options?)

Attende il completamento di un’operazione con ambito progetto, quindi recupera nuovamente il progetto. Restituisce l’handle dell’operazione, l’attività terminale e il progetto aggiornato.
ProjectOperation
required
Di solito il risultato di client.projects.create(...), client.projects.separateStems(...) o client.projects.syncLyrics(...).

client.exports.wait(operationOrId, options?)

Attende che un’esportazione cloud raggiunga uno stato terminale. Passa l’ExportOperation restituito da client.exports.create(...) oppure una stringa exportId.

Annullamento

Passa un AbortSignal per annullare un’attesa di lunga durata:
Lo stesso segnale annulla anche la richiesta di polling sottostante dell’attività o dell’esportazione.

Cosa fare dopo

  • Errors — gestire YoukaTaskError ed errori ritentabili
  • Exports — attendere il completamento di un’esportazione
  • API async jobs — lo stesso pattern in HTTP grezzo