JSFiddle - React, Tailwind, and code Playground

by Alex Baumgertner

HTML

<div id="result">in progress...</div>

JavaScript

$(document).ready(function(){

ApplicationDeferreds = {

    deferreds: [],

    done: function(callback) {
        jQuery.when.apply(null, this.deferreds).done(callback);
    },
    register: function(deferred) {
        var self = this;

        // delete resolved
        jQuery.each(this.deferreds, function(index, value) {
            if (value.state() == 'resolved') {
                self.deferreds.splice(self.deferreds.indexOf(value), 1);
            }
        });

        this.deferreds.push(deferred);
    }
};




function ajax_request() {
    ApplicationDeferreds.register(jQuery.get('/'));
}

function another_ajax_request() {
    ApplicationDeferreds.register(jQuery.get('/'));
}


ajax_request();
another_ajax_request();




ApplicationDeferreds.done(function() {
    // do someone
    $('#result').html('done!');
});


});