JSFiddle - React, Tailwind, and code Playground

JavaScript

function render1() {
  var dfd = jQuery.Deferred();
  // simulates your self.model.fetch stuff
  setTimeout(function() {
    console.log('1 finished');
    dfd.resolve({tmpl: "<div>render 1</div>"});
  }, 2000 );
  return dfd.promise();
}

function render2() {
  var dfd = jQuery.Deferred();
  // executes significantly faster than render1();
  setTimeout(function() {
      console.log('2 finished');
      dfd.resolve({tmpl: "<div>render 2</div>"});
  }, 10 );
  return dfd.promise();
}    
 
// Attach a done, fail, and progress handler for the asyncEvent
$.when(render1(), render2()).then(function(result1, result2) {
    $('body').append(result1.tmpl)
             .append(result2.tmpl);
});