JSFiddle - React, Tailwind, and code Playground

by masaab algailani

JavaScript

$(function(){
  var promise = abcAsync();
    promise.progress(function (msg) { alert(msg); });
});

function abcAsync() {
var deferred = $.Deferred();
var count = 0;
var firstPromise = timeoutAsync(2000);
var secondPromise = timeoutAsync(3000);
var thirdPromise = timeoutAsync(1000);
var fourthPromise = timeoutAsync(1234);
firstPromise.always(function () { deferred.notify( ++count); });
secondPromise.always(function () { deferred.notify(++count); });
thirdPromise.always(function () { deferred.notify(++count); });
fourthPromise.always(function () { deferred.notify(++count); });
$.when(firstPromise, secondPromise, thirdPromise, fourthPromise)
.then(function () { alert('done!'); deferred.resolve(); },
function () { deferred.reject(); });
return deferred.promise();
}


function timeoutAsync(milliseconds){
    var deferred = $.Deferred();
    setTimeout(function(){ deferred.resolve();}, milliseconds);
    return deferred.promise();
}