reInterval
Reschedulable setInterval for node.js.
Note: Work highly inspired by mcollina's retimer.
Example
var reInterval = require('reInterval');
var inter = reInterval(function () {
console.log('this should be called after 13s');
}, 10 * 1000);
setTimeout(function () {
inter.reschedule(10 * 1000);
}, 3 * 1000);
API:
###reInterval(callback, interval[, param1, param2, ...])
This is exactly like setInterval.
Arguments:
callback
: The callback to be executed repeatedly.interval
: The number of milliseconds (thousandths of a second) that the reInterval()
function should wait before each call to callback
.param1, param2, ...
: (OPTIONAL) These arguments are passed to the callback
function.
####returns an interval
object with the following methods:
###interval.reschedule([interval])
This function resets the interval
and restarts it now.
Arguments:
interval
: (OPTIONAL) This argument can be used to change the amount of milliseconds to wait before each call to the callback
passed to the reInterval()
function.
###interval.clear()
This function clears the interval. Can be used to temporarily clear the interval
, which can be rescheduled at a later time.
###interval.destroy()
This function clears the interval, and will also clear the callback
and params
passed to reInterval, so calling this essentially just makes this object ready for overwriting with a new interval
object.
Note:
Please ensure that either the interval.clear()
or interval.destroy()
function is called before overwriting the interval
object, because the internal interval
can continue to run in the background unless cleared.
license
MIT