Skip to content

4rzael/reInterval

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

reInterval

TRAVIS

NPM

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

// This will reset/reschedule the interval after 3 seconds, therefore
// the interval callback won't be called for at least 13 seconds.
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