Skip to content

Latest commit

 

History

History

lock

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

@salsita/lock

NPM version Downloads Licence Dependency Status devDependency Status

Function to create lock function. This lock function can be used to wrap any async function ensuring it will not be executed again before previous call finish.

Example:

const createLock = require("@salsita/lock");

const lock = createLock();

const wait = timeout => new Promise(resolve => setTimeout(resolve, timeout));
const fn = async n => {
  await wait(1000);
  console.log(`work ${n} done`);
};

lock(() => fn(1));
lock(() => fn(2));