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ść zwrócona przez podaną funkcję zadania.
Dla danej
|
Szczegóły metody
acquire<T>(string, (args: any[]) => Promise<T>, AcquireLockProperties)
Zwraca obietnicę, która jest rozpoznawana jako wartość zwrócona przez podaną funkcję zadania.
Dla danej key
wartości można wywołać tylko 1 zadanie.
Połączenie nabycia można anulować za pośrednictwem polecenia abortSignal
.
Jeśli zostanie anulowana, obietnica zostanie odrzucona za pomocą polecenia AbortError
.
acquireTimeoutInMs
można również udostępnić właściwości.
Jeśli limit czasu zostanie osiągnięty przed wywołaniem podanego task
, obietnica zostanie odrzucona z komunikatem Błąd informujący, ż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 acquire
wywołania są pogrupowane według podanego key
elementu .
- 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 elementu acquire
.
Zwraca
Promise<T>