AsyncLock class

コンストラクター

AsyncLock(AsyncLockOptions)

プロパティ

DEFAULT_MAX_EXECUTION_TIME
DEFAULT_MAX_OCCUPATION_TIME
DEFAULT_MAX_PENDING
DEFAULT_TIMEOUT

メソッド

acquire<T>(string | string[], () => T | PromiseLike<T> | (done: AsyncLockDoneCallback<T>) => any, AsyncLockOptions)

非同期コードをロックします。

import AsyncLock = require('async-lock');
const lock = new AsyncLock();

lock.acquire(
    key,
    () => {
        // return value or promise
    },
    opts
).then(() => {
    // lock released
});
acquire<T>(string | string[], (done: AsyncLockDoneCallback<T>) => any, AsyncLockDoneCallback<T>, AsyncLockOptions)

非同期コードをロックします。

import AsyncLock = require('async-lock');
const lock = new AsyncLock();

lock.acquire(
    key,
    (done) => {
        // async work
        done(err, ret);
    },
    (err, ret) => {
        // lock released
    },
    opts
);
isBusy(string)

実行中または保留中の非同期関数があるかどうか。

コンストラクターの詳細

AsyncLock(AsyncLockOptions)

new AsyncLock(options?: AsyncLockOptions)

パラメーター

プロパティの詳細

DEFAULT_MAX_EXECUTION_TIME

static DEFAULT_MAX_EXECUTION_TIME: 0

プロパティ値

0

DEFAULT_MAX_OCCUPATION_TIME

static DEFAULT_MAX_OCCUPATION_TIME: 0

プロパティ値

0

DEFAULT_MAX_PENDING

static DEFAULT_MAX_PENDING: 1000

プロパティ値

1000

DEFAULT_TIMEOUT

static DEFAULT_TIMEOUT: 0

プロパティ値

0

メソッドの詳細

acquire<T>(string | string[], () => T | PromiseLike<T> | (done: AsyncLockDoneCallback<T>) => any, AsyncLockOptions)

非同期コードをロックします。

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>

パラメーター

key

string | string[]

ロックするリソース キーまたはキー

fn

() => T | PromiseLike<T> | (done: AsyncLockDoneCallback<T>) => any

実行する関数

opts
AsyncLockOptions

オプション

戻り値

Promise<T>

acquire<T>(string | string[], (done: AsyncLockDoneCallback<T>) => any, AsyncLockDoneCallback<T>, AsyncLockOptions)

非同期コードをロックします。

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)

パラメーター

key

string | string[]

ロックするリソース キーまたはキー

fn

(done: AsyncLockDoneCallback<T>) => any

実行する関数

cb

AsyncLockDoneCallback<T>

callback 関数

opts
AsyncLockOptions

オプション

isBusy(string)

実行中または保留中の非同期関数があるかどうか。

function isBusy(key?: string): boolean

パラメーター

key

string

戻り値

boolean