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>, Acquire |
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 Un appel d’acquisition peut être annulé via un
|
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>