@salsita/lock
v1.0.1
Published
[![NPM version](https://img.shields.io/npm/v/@salsita/lock.svg)](https://www.npmjs.com/package/@salsita/lock) ![Downloads](https://img.shields.io/npm/dm/@salsita/lock.svg?style=flat) ![Licence](https://img.shields.io/npm/l/@salsita/lock.svg?style=flat) [!
Downloads
2
Readme
@salsita/lock
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));