Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
60 lines (46 sloc) 1.54 KB

build status jQuery Deferred Library for Node js.


jQuery Deferred solves the following problems:

  • support common deferred interface in node
  • give some access to the deferred library underpinning in the browser

Usage :

var Deferred = require('Deferred');
var when = Deferred.when;

var dfd = new Deferred() // || Deferred()
dfd.done( function () {
	console.log("Deferred resolved!");
} ).fail( function () {
	console.log("Deferred rejected!");
} );

setTimeout( function(){
}, 1500 );

Slightly more meaningful Usage Case :

var fs = require('fs');

function readFile(fileName){
	var hasReadFile = new Deferred();
	fs.readFile(fileName, 'utf8',function(err, contents){
		if ( err !== null ) {
			return hasReadFile.reject(err);
		return hasReadFile.resolve(contents);
	return hasReadFile.promise();

function parseFile(fileName, parser){
	// parser implemented elsewhere
			console.error('readFile :: ', err);

What are Deferreds?

I am putting together a small list of articles worth reading about the concept of deferreds, futures and promises. In it's simplest form a deferred object is a way to introduce a callback stack to a function.