JSFiddle - React, Tailwind, and code Playground

HTML

<script src="http://code.jquery.com/ui/jquery-ui-git.js"></script>
<link rel="stylesheet" href="http://code.jquery.com/ui/jquery-ui-git.css">

JavaScript

function delayedDeferred() {
    var dfd = $.Deferred.apply($, arguments);
    $.each(["resolveWith", "rejectWith"], function(_, fn) {
        var old = dfd[fn];
        dfd[fn] = function() {
            var args = [].slice.apply(arguments);
            setTimeout(function() {
                old.apply(dfd, args);
            }, 0);
        };
    });
    return dfd;
}

var dfd = delayedDeferred();

dfd.done(function( arg ) {
    console.log("done", arg);
});
dfd.resolve("omg");
console.log("after resolve 'omg' (this done should happen after)");

dfd = $.Deferred();

dfd.done(function( arg ) {
    console.log("done", arg);
});
dfd.resolve("omg2");
console.log("after resolve 'omg2' (this done should happen before)");