gatherer

0.0.1 • Public • Published

Gatherer

Intro

When developing Node.js applications sometimes you need to know when a whole bunch of callbacks have finished. You could just use synchronous methods, but that defeats the point of using Node, doesn't it?

Gatherer lets you set a callback to be run after a whole bunch of other callbacks have returned, but because that sounds incredibly boring it uses a metaphor of parties:

Invite your guests to your gathering. Once all your guests have accepted their invites, start the party!

The Code

To install

npm install gatherer
cd node_modules/gatherer
npm install

In your javascript file.

var gathering = require('gatherer');

Creating a party

Create a new gathering..

var gathering = gatherer(); 

Create your invitations...

_.each(files, function( file ){
	gathering.createInvitation( function( accept, decline ){
		fs.readFile( file, 'utf8', function( err, data ){
			if( !err ){
				// do something with your file data..
				accept();
			} else {
				decline();
			}
		});
	});
	
});

Send the invitations, executing a callback when they're done. Returns 'err' if there's an err, otherwise nothing.

gathering.sendInvitations(function(err){
	if(!err){
		// all invites were accepted
	} else {
		// some invites were declined... err === number of declines
	}
});

You can also set a limit on how long you want to wait for the invites:

gathering.sendInvitations(function(){
	if(err==='Error: Timed out'){
		// it waited 2000 miliseconds then gave up			
	}
}, { timeout : 2000 }) // will give up after 2000 ms. Warning: This doesn't cancel the execution of callbacks that are still running.

Run the tests

You need mocha and should.js.

make test

Readme

Keywords

none

Package Sidebar

Install

npm i gatherer

Weekly Downloads

4

Version

0.0.1

License

none

Last publish

Collaborators

  • CharlotteGore