Condividi tramite


CancellableAsyncLock interface

CancellableAsyncLock fornisce un meccanismo per forzare le attività usando la stessa "chiave" da eseguire serialmente.

Le attività in sospeso possono essere annullate manualmente tramite un oggetto abortSignal o automaticamente annullate dal raggiungimento di un valore di timeout specificato.

Metodi

acquire<T>(string, (args: any[]) => Promise<T>, AcquireLockProperties)

Restituisce una promessa che risolve il valore restituito dalla funzione attività fornita. È possibile richiamare solo 1 attività alla volta per un key determinato valore.

Una chiamata di acquisizione può essere annullata tramite un abortSignaloggetto . Se annullata, la promessa verrà rifiutata con un AbortErroroggetto .

acquireTimeoutInMs può anche essere fornito alle proprietà. Se il timeout viene raggiunto prima che venga richiamato, task la promessa verrà rifiutata con un errore che indica il timeout dell'attività in attesa di acquisire un blocco.

Dettagli metodo

acquire<T>(string, (args: any[]) => Promise<T>, AcquireLockProperties)

Restituisce una promessa che risolve il valore restituito dalla funzione attività fornita. È possibile richiamare solo 1 attività alla volta per un key determinato valore.

Una chiamata di acquisizione può essere annullata tramite un abortSignaloggetto . Se annullata, la promessa verrà rifiutata con un AbortErroroggetto .

acquireTimeoutInMs può anche essere fornito alle proprietà. Se il timeout viene raggiunto prima che venga richiamato, task la promessa verrà rifiutata con un errore che indica il timeout dell'attività in attesa di acquisire un blocco.

function acquire<T>(key: string, task: (args: any[]) => Promise<T>, properties: AcquireLockProperties): Promise<T>

Parametri

key

string

Tutte le acquire chiamate vengono raggruppate dall'oggetto specificato key.

task

(args: any[]) => Promise<T>

Funzione da richiamare dopo l'acquisizione del blocco.

properties
AcquireLockProperties

Proprietà aggiuntive per controllare il comportamento di acquire.

Restituisce

Promise<T>