CancellableAsyncLock interface
CancellableAsyncLock fornece um mecanismo para forçar tarefas usando a mesma "chave" a serem executadas serialmente.
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 valor Uma chamada de aquisição pode ser cancelada por meio de um
|
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 valor key.
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 task fornecido seja invocado, a promessa será rejeitada com um erro informando que a tarefa atingiu o tempo limite aguardando a aquisição de 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 ser invocada após a aquisição do bloqueio.
- properties
- AcquireLockProperties
Propriedades adicionais para controlar o comportamento de acquire.
Retornos
Promise<T>