Understanding promises in Node.js

ajsie picture ajsie · Nov 28, 2010 · Viewed 98.2k times · Source

From what I have understood there are three ways of calling asynchronous code:

  1. Events, e.g. request.on("event", callback);
  2. Callbacks, e.g. fs.open(path, flags, mode, callback);
  3. Promises

I found the node-promise library but I don’t get it.

Could someone explain what promises are all about and why I should use it?

Also, why was it removed from Node.js?

Answer

enyo picture enyo · May 16, 2012

Since this question still has many views (like mine) I wanted to point out that:

  1. node-promise looks rather dead to me (last commit was about 1 year ago) and contains nearly no tests.
  2. The futures module looks very bloated to me and is badly documented (and I think that the naming conventions are just bad)
  3. The best way to go seems to be the q framework, which is both active and well-documented.