Partilhar via


AsyncLock class

Construtores

AsyncLock(AsyncLockOptions)

Propriedades

DEFAULT_MAX_EXECUTION_TIME
DEFAULT_MAX_OCCUPATION_TIME
DEFAULT_MAX_PENDING
DEFAULT_TIMEOUT

Métodos

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

Bloqueio em código assíncrono.

Exemplo

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)

Bloqueio em código assíncrono.

Exemplo

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)

Se há alguma função assíncrona em execução ou pendente.

Detalhes do Construtor

AsyncLock(AsyncLockOptions)

new AsyncLock(options?: AsyncLockOptions)

Parâmetros

Detalhes de Propriedade

DEFAULT_MAX_EXECUTION_TIME

static DEFAULT_MAX_EXECUTION_TIME: 0

Valor de Propriedade

0

DEFAULT_MAX_OCCUPATION_TIME

static DEFAULT_MAX_OCCUPATION_TIME: 0

Valor de Propriedade

0

DEFAULT_MAX_PENDING

static DEFAULT_MAX_PENDING: 1000

Valor de Propriedade

1000

DEFAULT_TIMEOUT

static DEFAULT_TIMEOUT: 0

Valor de Propriedade

0

Detalhes de Método

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

Bloqueio em código assíncrono.

Exemplo

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>

Parâmetros

key

string | string[]

chave de recurso ou chaves para bloquear

fn

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

função a executar

opts
AsyncLockOptions

Opções

Devoluções

Promise<T>

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

Bloqueio em código assíncrono.

Exemplo

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)

Parâmetros

key

string | string[]

chave de recurso ou chaves para bloquear

fn

(done: AsyncLockDoneCallback<T>) => any

função a executar

cb

AsyncLockDoneCallback<T>

função de retorno de chamada

opts
AsyncLockOptions

Opções

isBusy(string)

Se há alguma função assíncrona em execução ou pendente.

function isBusy(key?: string): boolean

Parâmetros

key

string

Devoluções

boolean