CancellableAsyncLock interface
CancellableAsyncLock предоставляет механизм для принудительного последовательного выполнения задач с использованием одного и того же ключа. Ожидающие задачи можно отменить вручную с помощью функции abortSignal или автоматически отменить, достигнув указанного значения времени ожидания.
Методы
acquire<T>(string, (args: any[]) => Promise<T>, Acquire |
Возвращает обещание, которое разрешается в значение, возвращаемое предоставленной функцией задачи.
Для заданного
|
Сведения о методе
acquire<T>(string, (args: any[]) => Promise<T>, AcquireLockProperties)
Возвращает обещание, которое разрешается в значение, возвращаемое предоставленной функцией задачи.
Для заданного key
значения за раз можно вызвать только 1 задачу.
Вызов по получению можно отменить с помощью abortSignal
.
В случае отмены обещание будет отклонено с помощью AbortError
.
acquireTimeoutInMs
также можно предоставить свойствам.
Если время ожидания истекло до вызова предоставленного task
, обещание будет отклонено с сообщением Об ошибке, указывающее, что время ожидания задачи истекло, чтобы получить блокировку.
function acquire<T>(key: string, task: (args: any[]) => Promise<T>, properties: AcquireLockProperties): Promise<T>
Параметры
- key
-
string
Все acquire
вызовы группируются по предоставленному объекту key
.
- task
-
(args: any[]) => Promise<T>
Функция, вызываемая после получения блокировки.
- properties
- AcquireLockProperties
Дополнительные свойства для управления поведением acquire
.
Возвращаемое значение
Promise<T>