An example where I was using promises all wrong...
var fs = require('fs');
var getConfig = function() {
// Using promises because fs.readFile() is async
var deferred = Q.defer();
fs.readFile(__dirname + '/../../aFile.conf', 'utf-8', function(err, data) {
if (err) {
deferred.reject(err);
}
var configJSON = helpers.config2JSON(data, true); // true indicates we are parsing the input section
deferred.resolve(configJSON);
});
return deferred.promise;
};