JSFiddle - React, Tailwind, and code Playground

HTML

<div id="test"></div>

JavaScript

function Slide() {
    this.preload = function() {
        var preload_deferred = new $.Deferred();
        setTimeout(function() {
            preload_deferred.notify('slide_loading');
            preload_deferred.notify('slide_loaded');
            preload_deferred.resolve();
        }, 1000);
        return preload_deferred.promise();
    };
}
var slides = [new Slide(), new Slide(), new Slide()];
var d = [];
for (var i = 0; i < slides.length; i++) {
    d.push(slides[i].preload());
}
var w = $.when.apply(null, d);
w.progress(function(msg) { $('#test').html($('#test').html() + '<br />' + msg);});