Udostępnij za pośrednictwem


CancellableAsyncLock interface

CancellableAsyncLock zapewnia mechanizm wymuszania wykonywania zadań przy użyciu tego samego "klucza", który ma być wykonywany szeregowo.

Oczekujące zadania można anulować ręcznie za pośrednictwem elementu abortSignal lub automatycznie anulować przez osiągnięcie podanej wartości limitu czasu.

Metody

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

Zwraca obietnicę, która jest rozpoznawana jako wartość zwracana przez podaną funkcję zadania. W danym key wartości można wywołać tylko 1 zadanie.

Połączenie pozyskiwania można anulować za pośrednictwem abortSignal. Jeśli zostanie anulowana, obietnica zostanie odrzucona przy użyciu AbortError.

acquireTimeoutInMs można również podać właściwości. Jeśli zostanie osiągnięty limit czasu przed wywołaniem podanej task, obietnica zostanie odrzucona z komunikatem o błędzie z informacją, że zadanie przekroczyło limit czasu oczekiwania na uzyskanie blokady.

Szczegóły metody

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

Zwraca obietnicę, która jest rozpoznawana jako wartość zwracana przez podaną funkcję zadania. W danym key wartości można wywołać tylko 1 zadanie.

Połączenie pozyskiwania można anulować za pośrednictwem abortSignal. Jeśli zostanie anulowana, obietnica zostanie odrzucona przy użyciu AbortError.

acquireTimeoutInMs można również podać właściwości. Jeśli zostanie osiągnięty limit czasu przed wywołaniem podanej task, obietnica zostanie odrzucona z komunikatem o błędzie z informacją, że zadanie przekroczyło limit czasu oczekiwania na uzyskanie blokady.

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

Parametry

key

string

Wszystkie wywołania acquire są pogrupowane według podanego key.

task

(args: any[]) => Promise<T>

Funkcja, która ma zostać wywołana po uzyskaniu blokady.

properties
AcquireLockProperties

Dodatkowe właściwości do kontrolowania zachowania acquire.

Zwraca

Promise<T>