Partager via


CancellableAsyncLock interface

CancellableAsyncLock fournit un mécanisme permettant de forcer l’exécution en série des tâches utilisant la même « clé ».

Les tâches en attente peuvent être annulées manuellement par le biais d’un abandonSignal ou automatiquement annulées en atteignent une valeur de délai d’expiration fournie.

Méthodes

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

Retourne une promesse qui correspond à la valeur retournée par la fonction de tâche fournie. Une seule tâche peut être appelée à la fois pour une valeur donnée key .

Un appel d’acquisition peut être annulé via un abortSignal. En cas d’annulation, la promesse est rejetée avec un AbortError.

acquireTimeoutInMs peut également être fourni aux propriétés. Si le délai d’expiration est atteint avant que le fourni task soit appelé, la promesse est rejetée avec une erreur indiquant que la tâche a expiré en attendant d’acquérir un verrou.

Détails de la méthode

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

Retourne une promesse qui correspond à la valeur retournée par la fonction de tâche fournie. Une seule tâche peut être appelée à la fois pour une valeur donnée key .

Un appel d’acquisition peut être annulé via un abortSignal. En cas d’annulation, la promesse est rejetée avec un AbortError.

acquireTimeoutInMs peut également être fourni aux propriétés. Si le délai d’expiration est atteint avant que le fourni task soit appelé, la promesse est rejetée avec une erreur indiquant que la tâche a expiré en attendant d’acquérir un verrou.

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

Paramètres

key

string

Tous les acquire appels sont regroupés par le fourni key.

task

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

Fonction à appeler une fois le verrou acquis.

properties
AcquireLockProperties

Propriétés supplémentaires pour contrôler le comportement de acquire.

Retours

Promise<T>