Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
infinite loop in nodejs
JavaScript
branch: master
Failed to load latest commit information.
example modified example & doc
lib modified example & doc
.gitignore modified example & doc
README.md modified example & doc
index.js version 0.1.1, fixed error
package.json improved doc

README.md

infiniteLoop

Infinite loop for Node.js. Easy to Use & Good Performance

A helper for running tasks repeatly in Node.js.

get started by:

npm install infinite-loop

Easy to use:

  1. require it
var InfiniteLoop = require('infinite-loop');
  1. create a new il
var il = new InfiniteLoop;
  1. add a task
//simple ++ counter example
var counter = 0;
//task you want to run infinitely
function addOne(n) {
  n++;
  console.log(n);
}

//add it by calling .add
il.add(addOne, counter);
  1. run it
il.run();

the infinite-loop is also chainable

il.add(addOne, counter).run();

The output will be:

1
2
3
4
5
6
...

Find out more feature at the APIs section

Good Performance

Infinite Loop use setImediate internally to run task repeatly.

APIs

.add

.add(function, [arguments...])

.add take one or more arguments.

The first one must be a function, the rest arguments are the function's arguments. If the first arguments is not a function , InfiniteLoop will throw an Error.

.run

invoke the task

.run([times])

.run() take one argument optionally. By setting the optional argument:times, the task will only run the exact times.

.setInterval

.setInterval(interval)

It will set an interval for the task.argument:interval should be a number and should >0

You should call .setInterval before .run

.removeInterval

.removeInterval() remove interval

.onError

.onError(errHandler) If not used properly, Infiniteloop will throws some error. By calling .onError, you could catch these errors, and prevent the app from crashing.

argument:errHandler must be a function

example:

il.onError(function(error){
    console.log(error);
});

you could emit custom errors by calling il.emit('error', new Error('error message'))

.stop

Stop the InfiniteLoop

example: stop the loop after 10 seconds

setTimeout( function(){
    il.stop();
    } , 10 * 1000);

by Spencer.Z

Something went wrong with that request. Please try again.