JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://raw.github.com/appendto/jquery-mockjax/master/jquery.mockjax.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-mockjax/1.6.2/jquery.mockjax.min.js"></script>

JavaScript

//Simulate a timeout
$.mockjax({
  url:'/getData',
  responseTime:1000    
});

if(typeof Promise !== "undefined"){
  //Native Promise (using jQuery 1.8+)
  Promise.resolve(
    $.ajax({
      url: "/getData",
      timeout:500
    })
  ).then(function(){
    //do something
  }).catch(function(e) {
    if(e.statusText == 'timeout')
    {     
      alert('Native Promise: Failed from timeout'); 
      //do something. Try again perhaps?
    }
  });
}

//jQuery 1.8+
$.ajax({
  url: "/getData",
  timeout:500
}).done(function(){
  //do something
}).fail(function(jqXHR, textStatus){
  if(textStatus == 'timeout')
  {     
    alert('jQuery Promise: Failed from timeout'); 
    //do something. Try again perhaps?
  }
});

//jQuery <= 1.7.2 
$.ajax({
  url: "/getData",
  error: function(jqXHR, textStatus){
    if(textStatus == 'timeout')
    {     
      alert('jQuery: Failed from timeout');         
      //do something. Try again perhaps?
    }
  },
  success: function(){
    //do something
  },
  timeout:500
});