CancellableAsyncLock interface
CancellableAsyncLock proporciona un mecanismo para forzar las tareas que usan la misma "clave" que se va a ejecutar 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 de Una llamada de adquisición se puede cancelar a través de un
|
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 de key determinado.
Una llamada de adquisición se puede cancelar a través de un abortSignal.
Si se cancela, la promesa se rechazará con un AbortError.
acquireTimeoutInMs también se puede proporcionar a las propiedades.
Si se alcanza el tiempo de espera antes de invocar el task proporcionado, 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 llamadas acquire se agrupan mediante el keyproporcionado.
- 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>