Skip to content

Pandorym/SpaceLock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lock.js

Travis Build Status

Lock asynchronous resources, uses native Promises. 🔒

Install

npm i -s Pandorym/SpaceLock

Usage

import { Ymir } from 'space-lock';

let ymir = new Ymir();

ymir.checkIn('KEY')
    .then(() => {
        // console.log('1');
    })
    .then(() => {
        // console.log('  wait 500ms');
        setTimeout(() => {
            ymir.checkOut('KEY');
            // console.log('  checkOut');
        }, 500);
    });

ymir.doOnce('KEY', async () => {
    // console.log('2');
    // console.log('  wait 1000ms')
    
    return new Promise((resolve => {
        setTimeout(resolve, 1000)
    }))
});

ymir.checkIn('KEY')
    .then(() => {
        // console.log('3');
    });

// output
//   1
//     wait 500ms
//     checkout
//   2
//     wait 1000ms
//   3

About

Lock asynchronous resources, uses native Promises. 🔒

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published