你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
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>