共用方式為


CancellableAsyncLock interface

CancellableAsyncLock 提供一種機制,可強制使用相同 'key' 以序列方式執行的工作。

暫止的工作可以透過中止手動取消,或透過達到提供的逾時值自動取消。

方法

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>