Skip to content

Instantly share code, notes, and snippets.

@medikoo
Created February 5, 2014 10:28
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 medikoo/8820787 to your computer and use it in GitHub Desktop.
Save medikoo/8820787 to your computer and use it in GitHub Desktop.
Example from StrongLoop article -> http://strongloop.com/strongblog/node-js-callback-hell-promises-generators/ implemented with deferred promise library
var fs = require('fs')
, join = require('path').join
, promisify = require('deferred').promisify
, readdir = promisify(fs.readdir), lstat = promisify(fs.lstat);
module.exports = function (dir) {
var largest = null, largestSize = -1;
return readdir(dir).map(function (file) {
return lstat(join(dir, file))(function (stats) {
if (!stats.isFile()) return;
if (stats.size <= largestSize) return;
largest = file;
largestSize = stats.size;
});
})(function () { return largest; });
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment