Freigeben über


AsyncLock class

Konstruktoren

AsyncLock(AsyncLockOptions)

Eigenschaften

DEFAULT_MAX_EXECUTION_TIME
DEFAULT_MAX_OCCUPATION_TIME
DEFAULT_MAX_PENDING
DEFAULT_TIMEOUT

Methoden

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

Sperren sie asynchronen Code.

Beispiel

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)

Sperren sie asynchronen Code.

Beispiel

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)

Gibt an, ob eine asynchrone Funktion ausgeführt oder aussteht.

Details zum Konstruktor

AsyncLock(AsyncLockOptions)

new AsyncLock(options?: AsyncLockOptions)

Parameter

Details zur Eigenschaft

DEFAULT_MAX_EXECUTION_TIME

static DEFAULT_MAX_EXECUTION_TIME: 0

Eigenschaftswert

0

DEFAULT_MAX_OCCUPATION_TIME

static DEFAULT_MAX_OCCUPATION_TIME: 0

Eigenschaftswert

0

DEFAULT_MAX_PENDING

static DEFAULT_MAX_PENDING: 1000

Eigenschaftswert

1000

DEFAULT_TIMEOUT

static DEFAULT_TIMEOUT: 0

Eigenschaftswert

0

Details zur Methode

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

Sperren sie asynchronen Code.

Beispiel

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>

Parameter

key

string | string[]

Ressourcenschlüssel oder Schlüssel zum Sperren

fn

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

auszuführende Funktion

opts
AsyncLockOptions

Optionen

Gibt zurück

Promise<T>

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

Sperren sie asynchronen Code.

Beispiel

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)

Parameter

key

string | string[]

Ressourcenschlüssel oder Schlüssel zum Sperren

fn

(done: AsyncLockDoneCallback<T>) => any

auszuführende Funktion

cb

AsyncLockDoneCallback<T>

Rückruffunktion

opts
AsyncLockOptions

Optionen

isBusy(string)

Gibt an, ob eine asynchrone Funktion ausgeführt oder aussteht.

function isBusy(key?: string): boolean

Parameter

key

string

Gibt zurück

boolean