JSFiddle - React, Tailwind, and code Playground

HTML

<script src="//cdn.bootcss.com/mootools/1.5.2/mootools-core.min.js"></script>
<div id='target'>
</div>

CSS

body {
      font-family: Helvetica, Sans, Arial;
    }
    
    p {
      display: block;
    }

JavaScript

function get(text, delay) {
  return new Promise(function(resolve, reject) {
    var request = new Request.HTML({
      url: '/echo/html/',
      data: {
        html: text,
        delay: delay
      },
      method: 'post',
      onSuccess: function(data) {
        resolve(data);
      },
      onFailure: function() {
        reject();
      }
    });
    request.send();
  });
}

var getChapter = function(chapterStr) {
  return get('<p>' + chapterStr + '</p>', Math.round(Math.random() * 2));
};

var addToPage = function(data) {
  data[0].inject($('target'));
}

function* gen() {
  var result = yield getChapter('I love Javascript');
  addToPage(result);
}

var g = gen();
var result = g.next();
result.value.then(function(data) {
  g.next(data);
});