CancellableAsyncLock interface
CancellableAsyncLock 提供一種機制,可強制使用相同 'key' 以序列方式執行的工作。
暫止的工作可以透過中止手動取消,或透過達到提供的逾時值自動取消。
方法
| 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>