다음을 통해 공유


CancellableAsyncLock interface

CancellableAsyncLock은 동일한 '키'를 사용하여 작업을 직렬로 실행하도록 강제하는 메커니즘을 제공합니다.

보류 중인 작업은 abortSignal을 통해 수동으로 취소하거나 제공된 시간 제한 값에 도달하여 자동으로 취소할 수 있습니다.

메서드

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

제공된 작업 함수에서 반환하는 값으로 확인되는 프라미스를 반환합니다. 지정된 key 값에 대해 한 번에 하나의 작업만 호출할 수 있습니다.

abortSignal통해 획득 호출을 취소할 수 있습니다. 취소되면 AbortError약속이 거부됩니다.

acquireTimeoutInMs 속성에도 제공할 수 있습니다. 제공된 task 호출되기 전에 시간 제한에 도달하면 잠금을 획득하기 위해 작업 시간이 초과되었다는 오류와 함께 약속이 거부됩니다.

메서드 세부 정보

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

제공된 작업 함수에서 반환하는 값으로 확인되는 프라미스를 반환합니다. 지정된 key 값에 대해 한 번에 하나의 작업만 호출할 수 있습니다.

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>