var Q = require('q'),
defered = Q.defer(),
promise = defered.promise;
function heavyProcess(defered){
setTimeout(function(){
console.log('finish!')
defered.resolve('end')
}, 5000);
}
promise.then(function(msg){
console.log(msg)
});
heavyProcess(defered);
//// after 5 sec, console logged
// finish!
// end