function defer(){ return new Promise(function(resolve,reject){ setTimeout(function(){ var value = 'value to return' resolve(value) },0) }) } defer().then(function(value){console.log(value)})