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>, Acquire |
Zwraca obietnicę, która jest rozpoznawana jako wartość zwracana przez podaną funkcję zadania.
W danym Połączenie pozyskiwania można anulować za pośrednictwem
|
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>