Skip to content

Instantly share code, notes, and snippets.

@bentruyman
Created October 14, 2010 21:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bentruyman/627064 to your computer and use it in GitHub Desktop.
Save bentruyman/627064 to your computer and use it in GitHub Desktop.
Promise Example
// npm install promised-io
var promised = require('promised-io/promise');
// all of these async methods return an instance of promised.Promise
var filePromise = getFile('/foo.html')
, databasePromise = getDatabaseRecord('users/bentruyman')
, websocketPromise = establishWebsocketConnection();
promised.all([filePromise, databasePromise, websocketPromise], function (arrayOfResolvedData) {
// all promises have been resolved
});
function getFile(filename) {
var promise = new promised.Promise();
getFileFromSomewhereAsynchronously(filename, function (data) {
promise.resolve(data);
});
return promise;
}
// etc...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment