Was ist der sauberste Weg, um ein Array von JQuery-Versprechen in ein JQuery-Versprechen eines Arrays zu verwandeln?

Ich stoße auf die Situation, dass ich mehrere JQuery-Versprechen in einem Array habe

var arrayOfPromises = [ $.Deferred(), $.Deferred(), $.Deferred(), $.Deferred() ]

und müssen es in ein JQuery-Versprechen eines Arrays verwandeln

var promiseOfArray = someTransform(arrayOfPromises)

woher

promiseOfArray.done(function(anArray){
  alert(anArray.join(","));
});

Erstellt eine Warnung mit Text

Ergebnis1, Ergebnis2, Ergebnis3, Ergebnis4

Ich definiere derzeitsomeTransform im Kaffeeskript als

someTransform = (arrayOfPromises) ->
  $.when(arrayOfPromises...).pipe (promises...) ->
    promises

Das verwandelt sich in das folgende Javascript

var someTransform,
  __slice = [].slice;

someTransform = function(arrayOfPromises) {
  return $.when.apply($, arrayOfPromises).pipe(function() {
    var promises;
    promises = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
    return promises;
  });
};

Hier ist eine jsFiddle des ergebnisses suche ich.

Ich habe mich gefragt, ob es eine bessere (kürzere, sauberere) Definition gibtsomeTransform das gleiche Ergebnis zu erzielen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage