Edit in JSFiddle

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>