JSFiddle - React, Tailwind, and code Playground

JavaScript

var arrayOfPromises = [ $.Deferred(), $.Deferred(), $.Deferred(), $.Deferred() ]
    
var someTransform = function(promises) {
    return $.when.apply($,promises).pipe(function(){
       return [].slice.call(arguments,0);
    });
}
var promiseOfArray = someTransform(arrayOfPromises);
promiseOfArray.done(function(anArray){
    alert(anArray.join(","));
});


//Resolve Array Of Promises
for (var i = 0; i < arrayOfPromises.length; i++) {
    arrayOfPromises[i].resolve(i);
}