Partilhar via


CancellableAsyncLock interface

CancellableAsyncLock fornece um mecanismo para forçar tarefas com a mesma "chave" a ser executada em série. As tarefas pendentes podem ser canceladas manualmente através de um abortSignal ou automaticamente canceladas ao atingir um valor de tempo limite fornecido.

Métodos

acquire<T>(string, (args: any[]) => Promise<T>, AcquireLockProperties)

Devolve uma promessa que é resolvida para o valor devolvido pela função de tarefa fornecida. Apenas uma tarefa pode ser invocada de cada vez para um determinado key valor. Uma chamada de aquisição pode ser cancelada através de um abortSignal. Se for cancelada, a promessa será rejeitada com um AbortError.

acquireTimeoutInMs também pode ser fornecido às propriedades. Se o tempo limite for atingido antes de o fornecido task ser invocado, a promessa será rejeitada com um Erro a indicar que a tarefa excedeu o tempo limite à espera de adquirir um bloqueio.

Detalhes de Método

acquire<T>(string, (args: any[]) => Promise<T>, AcquireLockProperties)

Devolve uma promessa que é resolvida para o valor devolvido pela função de tarefa fornecida. Apenas uma tarefa pode ser invocada de cada vez para um determinado key valor. Uma chamada de aquisição pode ser cancelada através de um abortSignal. Se for cancelada, a promessa será rejeitada com um AbortError.

acquireTimeoutInMs também pode ser fornecido às propriedades. Se o tempo limite for atingido antes de o fornecido task ser invocado, a promessa será rejeitada com um Erro a indicar que a tarefa excedeu o tempo limite à espera de 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 invocar depois de o bloqueio ter sido adquirido.

properties
AcquireLockProperties

Propriedades adicionais para controlar o comportamento de acquire.

Devoluções

Promise<T>