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

CancellableAsyncLock interface

CancellableAsyncLock 提供了一种机制,用于强制使用相同的“密钥”来串行执行任务。

可以通过中止手动取消挂起的任务,也可以通过达到提供的超时值自动取消。

方法

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>