var top3FromReddit = new Promise(function(resolve, reject){ $.getJSON('http://reddit.com/r/science.json?jsonp=?'). success(function(result){ var stories = result.data.children.slice(0,3); resolve(stories); }); }); function* redditGenerator(){ var stories = yield top3FromReddit; stories.forEach(function(item){ $('.stories').append("<li>" + item.data.title + "</li>"); }) } function async(generatorFunction){ var generator = generatorFunction(); var promise = generator.next().value; promise.then(function(result){ generator.next(result); }) } async(redditGenerator)
<ul class='stories'> </ul>