Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
jQuery Deferred library for node js
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
test
.gitignore
.travis.yml
README.md
index.js
package.json

README.md

build status

jQuery Deferred Library for Node js.

website

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(){
    dfd.resolve();
}, 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
    readFile(fileName)
        .done(parser.parse)
        .fail(function(err){
            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.

ColonelPanic

Something went wrong with that request. Please try again.