Partager via


CancellableAsyncLock interface

CancellableAsyncLock fournit un mécanisme permettant de forcer les tâches à l’aide de la même « clé » à exécuter en série.

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

Méthodes

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

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

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

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

Détails de la méthode

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

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

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

acquireTimeoutInMs pouvez également être fourni aux propriétés. Si le délai d’expiration est atteint avant l’appel du task fourni, la promesse est rejetée avec une erreur indiquant que la tâche a expiré en attente 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 appels acquire sont regroupés par le keyfourni.

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>