chronoman

Utility class to simplify use of timers created by setTimeout

chronoman

Utility class to simplify use of timers created by setTimeout.

npm install chronoman

Component

component install gamtiq/chronoman

Jam

jam install chronoman

Bower

bower install chronoman

SPM

spm install chronoman

Use dist/chronoman.js or dist/chronoman.min.js (minified version).

var Timer = require("chronoman");
require(["chronoman"], function(Timer) {
    ...
});
define(["path/to/dist/chronoman.js"], function(Timer) {
    ...
});
<!-- Use bower_components/chronoman/dist/chronoman.js if the library was installed by Bower -->
<script type="text/javascript" src="path/to/dist/chronoman.js"></script>
<script type="text/javascript">
    // сhronoman is available via Chronoman field of window object 
    var Timer = Chronoman;
    ...
</script> 
var nI = 0;
 
var tmrOne = new Timer({
    period: 1000,
    actionfunction(timer) {
        console.log("---> Timer one. ", timer);   // timer is undefined because passToAction is false by default 
    }
});
 
var tmrTwo = new Timer();
tmrTwo.setPeriod(2000)
    .setRecurrent(true)
    .setPassToAction(true)
    .setAction(function(timer) {
        nI++;
        console.log("Timer two. #", nI, timer);
        tmrOne.setActive(! tmrOne.isActive());
        if (nI === 10) {
            timer.stop();
        }
    });
 
tmrTwo.start();

See doc folder.

This module is inspired by qooxdoo's qx.event.Timer class.

MIT