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?