Skip to content

gamtiq/chronoman

Repository files navigation

chronoman

Utility class to simplify use of timers created by setTimeout.

Installation

Node

npm install chronoman

Component

Install component:

npm install -g component

Then:

component install gamtiq/chronoman

AMD, <script>

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

Usage

Node, Component

var Timer = require("chronoman");

AMD

define(["path/to/dist/chronoman.js"], function(Timer) {
    ...
});

<script>

<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>

Example

var nI = 0;

var tmrOne = new Timer({
    period: 1000,
    action: function(timer) {
        console.log("---> Timer one. ", timer);
    }
});

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();

API

See doc folder.

Inspiration

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

Licence

MIT