Pkgs/packages/@3xpo/locked
Exponential-Workload 6102f7464c
Some checks failed
Deploy @3xpo/events / deploy (push) Has been cancelled
Deploy @3xpo/fs-extra / deploy (push) Has been cancelled
Deploy pkgs / deploy (push) Has been cancelled
Build & Test Packages / build (push) Has been cancelled
chore(release): Update Repository
2024-04-30 18:42:03 +02:00
..
src fix: update licenses 2024-03-21 18:14:26 +01:00
CHANGELOG.md chore(release): Update Repository 2024-04-30 18:42:03 +02:00
jest.config.cjs feat: @3xpo/locked 2023-12-20 14:02:44 +01:00
package.json chore(release): Update Repository 2024-04-30 18:42:03 +02:00
README.md feat: add usage info 2023-12-20 14:11:00 +01:00
tsconfig.json feat: central tsconfig 2024-04-30 18:39:58 +02:00

@3xpo/locked

Locking Library for the 21st Century

Usage

import Locked from '@3xpo/locked';

const lock = new Locked();
setTimeout(async () => {
  const unlock = await lock.lock('test');
  await new Promise(rs => setTimeout(rs, 10));
  console.log('3');
  unlock();
  console.log('4');
}, 10);
(async () => {
  const unlock = await lock.lock('test');
  await new Promise(rs => setTimeout(rs, 100));
  console.log('1');
  unlock();
  console.log('2');
})();

will output 1, 2, 3, 4.