var getUserEmail = function(username) { var deferred = q.defer(); userRepository.find(username) // assume this returns a promise .then(function(user){ deferred.resolve(user.email); }); return deferred.promise; }; getUserEmail("emma").then(console.log);