AsyncLock class
Constructors
| Async |
Properties
| DEFAULT_MAX_EXECUTION_TIME | |
| DEFAULT_MAX_OCCUPATION_TIME | |
| DEFAULT_MAX_PENDING | |
| DEFAULT_TIMEOUT |
Methods
| acquire<T>(string | string[], () => T | Promise |
Lock on asynchronous code. Example
|
| acquire<T>(string | string[], (done: Async |
Lock on asynchronous code. Example
|
| is |
Whether there is any running or pending async function. |
Constructor Details
AsyncLock(AsyncLockOptions)
Property Details
DEFAULT_MAX_EXECUTION_TIME
static DEFAULT_MAX_EXECUTION_TIME: 0
Property Value
0
DEFAULT_MAX_OCCUPATION_TIME
static DEFAULT_MAX_OCCUPATION_TIME: 0
Property Value
0
DEFAULT_MAX_PENDING
static DEFAULT_MAX_PENDING: 1000
Property Value
1000
DEFAULT_TIMEOUT
static DEFAULT_TIMEOUT: 0
Property Value
0
Method Details
acquire<T>(string | string[], () => T | PromiseLike<T> | (done: AsyncLockDoneCallback<T>) => any, AsyncLockOptions)
Lock on asynchronous code.
Example
import AsyncLock = require('async-lock');
const lock = new AsyncLock();
lock.acquire(
key,
() => {
// return value or promise
},
opts
).then(() => {
// lock released
});
function acquire<T>(key: string | string[], fn: () => T | PromiseLike<T> | (done: AsyncLockDoneCallback<T>) => any, opts?: AsyncLockOptions): Promise<T>
Parameters
- key
-
string | string[]
resource key or keys to lock
- fn
-
() => T | PromiseLike<T> | (done: AsyncLockDoneCallback<T>) => any
function to execute
- opts
- AsyncLockOptions
options
Returns
Promise<T>
acquire<T>(string | string[], (done: AsyncLockDoneCallback<T>) => any, AsyncLockDoneCallback<T>, AsyncLockOptions)
Lock on asynchronous code.
Example
import AsyncLock = require('async-lock');
const lock = new AsyncLock();
lock.acquire(
key,
(done) => {
// async work
done(err, ret);
},
(err, ret) => {
// lock released
},
opts
);
function acquire<T>(key: string | string[], fn: (done: AsyncLockDoneCallback<T>) => any, cb: AsyncLockDoneCallback<T>, opts?: AsyncLockOptions)
Parameters
- key
-
string | string[]
resource key or keys to lock
- fn
-
(done: AsyncLockDoneCallback<T>) => any
function to execute
- cb
callback function
- opts
- AsyncLockOptions
options
isBusy(string)
Whether there is any running or pending async function.
function isBusy(key?: string): boolean
Parameters
- key
-
string
Returns
boolean