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!');
});
});