CancellableAsyncLock interface
CancellableAsyncLock 提供了一种机制,用于强制使用相同的“密钥”来串行执行任务。
可以通过中止手动取消挂起的任务,也可以通过达到提供的超时值自动取消。
方法
| 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>