Partilhar via


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>, 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.

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>