JSFiddle - React, Tailwind, and code Playground

JavaScript

function mockAjax(options) {
  var that = {
    done: function done(callback) {
      if (options.success)
        setTimeout(callback, options.timeout, options.response);
      return that;
    },
    error: function error(callback) {
      if (!options.success)
        setTimeout(callback, options.timeout, options.response);
      return that;
    }
  };
  return that;
}

var $ = {
	ajax: function() {
    return mockAjax({
      success: true,
      response: { ok: true },
      timeout: 500
    });
  }
};

$.ajax()
.done(function(json) {
	console.log(json)
})
.error(function(json) {
	console.log(json);
});