easy-timeout
v1.0.1
Published
Simple replacement for setTimeout and setInterval
Downloads
4
Maintainers
Readme
easy-timeout
Simple replacement for setTimeout and setInterval
Installation
$ npm install --save easy-timeout
Usage
var timeout = require('easy-timeout').Timeout;
timeout('1m .5s')
.then(function(){ //this will be called on timeout
console.log('hello');
}).then(function(){ //it is chainable
console.log('hello2');
}).perform(function(){ //it is the same to call it with other
console.log('perform'); //action verbs such as: perform, fulfil, do, execute...
}).fulfil(function(){
console.log('fulfil');
});
var interval = require('easy-timeout').Interval;
interval(5, 0)
.execute(function(){ //this will be called on interval
console.log('hello');
}).perform(function(){ //it is chainable
console.log('hello2');
});
interval.count({ min: 5, s: 0})
.execute(function(){ //this will keep on calling on interval
console.log('hello');
}).perform(5, function(){ //but this will only be called 5 times
console.log('hello2');
});
As you might see in the usage that the argument passed in to timeout()
, interval()
and interval.count()
can be very flexible, anything that you feel is logical.
//it can be a string
timeout('1m 30s') //1 minute 30 second
timeout('1minute 30s') //1 minute 30 second
timeout('1 min 30 sec') //1 minute 30 second
timeout('1.5 min') //1 minute 30 second
//it can be an object
timeout({minute: 1, second: 30})
timeout({min: 1, seconds: 30})
timeout({m: 1, s: 30})
//it can be a list of numbers
timeout(90000) // timeout(ms)
timeout(90, 0) // timeout(s, ms)
timeout(1, 30, 0) // timeout(m, s, ms)
timeout(0, 1, 30, 0) // timeout(h, m, s, ms)
timeout(0, 0, 1, 30, 0) // timeout(d, h, m, s, ms)
timeout(0, 0, 0, 1, 30, 0) // timeout(y, d, h, m, s, ms)
Related
License
MIT