CancellableAsyncLock interface
CancellableAsyncLock fornece um mecanismo para forçar tarefas usando a mesma 'chave' a serem executadas em série.
As tarefas pendentes podem ser canceladas manualmente através de um abortSignal ou canceladas automaticamente ao atingir um valor de tempo limite fornecido.
Métodos
| acquire<T>(string, (args: any[]) => Promise<T>, Acquire |
Retorna uma promessa que resolve para o valor retornado pela função de tarefa fornecida.
Apenas 1 tarefa pode ser invocada de cada vez para um determinado valor Uma chamada de aquisição pode ser cancelada através de um
|
Detalhes de Método
acquire<T>(string, (args: any[]) => Promise<T>, AcquireLockProperties)
Retorna uma promessa que resolve para o valor retornado pela função de tarefa fornecida.
Apenas 1 tarefa pode ser invocada de cada vez para um determinado valor key.
Uma chamada de aquisição pode ser cancelada através de um abortSignal.
Se cancelada, a promessa será rejeitada com um AbortError.
acquireTimeoutInMs também podem ser fornecidos às propriedades.
Se o tempo limite for atingido antes que o task fornecido seja invocado, a promessa será rejeitada com um Erro informando que a tarefa expirou esperando para adquirir um bloqueio.
function acquire<T>(key: string, task: (args: any[]) => Promise<T>, properties: AcquireLockProperties): Promise<T>
Parâmetros
- key
-
string
Todas as chamadas acquire são agrupadas pelo keyfornecido.
- task
-
(args: any[]) => Promise<T>
A função a invocar uma vez que o bloqueio tenha sido adquirido.
- properties
- AcquireLockProperties
Propriedades adicionais para controlar o comportamento de acquire.
Devoluções
Promise<T>