2.0.0 • Published 9 years ago

meet v2.0.0

Weekly downloads
1
License
MIT
Repository
-
Last release
9 years ago

Meet

Provides a way to start multiple tasks with a single callback when all are finished.

Install

npm install meet

Run tasks cuncurrently

var Meet = require("meet")
var meet = new Meet()

meet.start( function() {
	var done = this
	// do stuff
	done()
})

meet.start( function() {
	var done = this
	// do other stuff
	done()
})

meet.allDone( function() {
	// all tasks have completed
})

Run tasks sequentially

meet.queue( function() {
	var done = this
	// do something first 
	done()
})

meet.queue( function() {
	var done = this
	// do something after the first thing 
	done()
})

meet.allDone( function() {
	// all tasks have completed
})

Example

var Meet = require("meet")
var meet = new Meet()

// These tasks are "started". They run concurrently & finish in random order
function timeTask(t, id) {
	var done = this
	setTimeout(function() {
		console.log("time "+id+": "+t)
		done()
	}, t)
}
meet.start(timeTask, Math.random() * 6000, "a")
meet.start(timeTask, Math.random() * 6000, "b")
meet.start(timeTask, Math.random() * 6000, "c")
meet.start(timeTask, Math.random() * 6000, "d")

// These tasks are "queued".  They run sequentially in the order that they were queued
function queueTask(t, id) {
	var done = this
	setTimeout(function() {
		console.log("queue "+id+": "+t)
		done()
	}, t)
}
meet.queue(queueTask, Math.random() * 2000, "A")
meet.queue(queueTask, Math.random() * 2000, "B")
meet.queue(queueTask, Math.random() * 2000, "C")
meet.queue(queueTask, Math.random() * 2000, "D")

// Note that the entire series of sequential tasks operates like a single concurrent
// task relative to the other concurrent tasks.

function finished(msg) {
	console.log(msg)
}

setTimeout(function() {
	console.log('seems like a nice time to set the completion call-back');
	meet.allDone(finished, "Everyone is done!")
}, 4000);
2.0.0

9 years ago

1.10.0

10 years ago

1.9.0

10 years ago

1.8.0

10 years ago

1.7.0

10 years ago

1.6.0

10 years ago

1.5.0

11 years ago

1.4.0

12 years ago

1.3.3

12 years ago

1.3.2

12 years ago

1.3.1

12 years ago

1.3.0

12 years ago

1.2.0

12 years ago

1.1.0

12 years ago

1.0.0

12 years ago