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

CancellableAsyncLock interface

CancellableAsyncLock 提供了一种机制,用于强制以串行方式执行使用同一“密钥”的任务。 可以通过 abortSignal 手动取消挂起的任务,也可以通过达到提供的超时值自动取消挂起的任务。

方法

acquire<T>(string, (args: any[]) => Promise<T>, AcquireLockProperties)

返回一个承诺,该承诺解析为提供的任务函数返回的值。 对于给定 key 值,一次只能调用 1 个任务。 可以通过 取消 abortSignal获取调用。 如果取消,则承诺将被拒绝并显示 AbortError

acquireTimeoutInMs 还可以提供给属性。 如果在调用提供的 task 之前已达到超时,则承诺将被拒绝,并显示错误,指出任务在等待获取锁时超时。

方法详细信息

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>