CancellableAsyncLock interface
CancellableAsyncLock proporciona un mecanismo para forzar que las tareas usen la misma "clave" para ejecutarse en serie.
Las tareas pendientes se pueden cancelar manualmente a través de abortSignal o cancelarse automáticamente mediante un valor de tiempo de espera proporcionado.
Métodos
acquire<T>(string, (args: any[]) => Promise<T>, Acquire |
Devuelve una promesa que se resuelve en el valor devuelto por la función de tarea proporcionada.
Solo se pueden invocar 1 tarea a la vez para un valor determinado Una llamada de adquisición se puede cancelar a través de .
|
Detalles del método
acquire<T>(string, (args: any[]) => Promise<T>, AcquireLockProperties)
Devuelve una promesa que se resuelve en el valor devuelto por la función de tarea proporcionada.
Solo se pueden invocar 1 tarea a la vez para un valor determinado key
.
Una llamada de adquisición se puede cancelar a través de .abortSignal
Si se cancela, la promesa se rechazará con .AbortError
acquireTimeoutInMs
también se puede proporcionar a las propiedades.
Si se alcanza el tiempo de espera antes de invocar el proporcionado task
, la promesa se rechazará con un error que indica que la tarea agota el tiempo de espera para adquirir un bloqueo.
function acquire<T>(key: string, task: (args: any[]) => Promise<T>, properties: AcquireLockProperties): Promise<T>
Parámetros
- key
-
string
Todas las acquire
llamadas se agrupan mediante el proporcionado key
.
- task
-
(args: any[]) => Promise<T>
Función que se va a invocar una vez adquirido el bloqueo.
- properties
- AcquireLockProperties
Propiedades adicionales para controlar el comportamiento de acquire
.
Devoluciones
Promise<T>