fun-dispatcher

Tiny ES6 class to run functions after a given delay. Uses just on timer at any time and setImmediate to launch

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
fun-dispatcher
1.2.63 years ago5 years agoMinified + gzip package size for fun-dispatcher in KB

Readme

codecov
fun-dispatcher
Tiny ES6 class to run functions after a given delay. Uses just one timer at any time and setImmediate to execute functions.
Written in Typescript, 100% test coverage, targeting current LTS Node.JS
Example:
const { Scheduler } = require('fun-dispatcher');

const fd = new Scheduler();

fd.schedule('task1', () => { console.log('Will run after about 600ms') }, 600);
fd.schedule('task2', () => {
    console.log('Tasks can be cancelled by id');
    fd.delete('task1')
}, 400)

// can forcefully execute all tasks
fd.flush();
// or just next task in line waiting for be executed
fd.runNext()

// Scheduler extends native Map class, so, all methods are available
// like .delete to unschedule task or iteration
for (const [task, { delay }] of fd) {
    console.log('Task `%s` was scheduled with original delay of %d ms', task, delay);
}