CancellableAsyncLock interface
CancellableAsyncLock fornece um mecanismo para forçar tarefas que usam a mesma "chave" a serem executadas em série. Tarefas pendentes podem ser canceladas manualmente por meio de um abortSignal ou canceladas automaticamente, atingindo um valor de tempo limite fornecido.
Métodos
acquire<T>(string, (args: any[]) => Promise<T>, Acquire |
Retorna uma promessa que é resolvida para o valor retornado pela função de tarefa fornecida.
Somente uma tarefa pode ser invocada por vez para um determinado
|
Detalhes do método
acquire<T>(string, (args: any[]) => Promise<T>, AcquireLockProperties)
Retorna uma promessa que é resolvida para o valor retornado pela função de tarefa fornecida.
Somente uma tarefa pode ser invocada por vez para um determinado key
valor.
Uma chamada de aquisição pode ser cancelada por meio de um abortSignal
.
Se cancelada, a promessa será rejeitada com um AbortError
.
acquireTimeoutInMs
também pode ser fornecido para propriedades.
Se o tempo limite for atingido antes que o fornecido task
seja invocado, a promessa será rejeitada com um Erro informando que a tarefa atingiu o tempo limite aguardando para adquirir um bloqueio.
function acquire<T>(key: string, task: (args: any[]) => Promise<T>, properties: AcquireLockProperties): Promise<T>
Parâmetros
- key
-
string
Todas as acquire
chamadas são agrupadas pelo fornecido key
.
- task
-
(args: any[]) => Promise<T>
A função a ser invocada depois que o bloqueio for adquirido.
- properties
- AcquireLockProperties
Propriedades adicionais para controlar o comportamento de acquire
.
Retornos
Promise<T>