Ce n' $.lors de l'.appliquer($, someArray) faire?

Je suis la lecture sur Deferreds et des Promesses et de garder à venir à travers $.when.apply($, someArray). Je suis un peu dans le flou sur ce qu'il fait exactement, la recherche d'une explication qui une ligne fonctionne exactement (pas la totalité de l'extrait de code). Voici le contexte:

var data = [1,2,3,4]; //the ids coming back from serviceA
var processItemsDeferred = [];

for(var i = 0; i < data.length; i++){
  processItemsDeferred.push(processItem(data[i]));
}

$.when.apply($, processItemsDeferred).then(everythingDone); 

function processItem(data) {
  var dfd = $.Deferred();
  console.log('called processItem');

  //in the real world, this would probably make an AJAX call.
  setTimeout(function() { dfd.resolve() }, 2000);    

  return dfd.promise();
}

function everythingDone(){
  console.log('processed all items');
}
InformationsquelleAutor manafire | 2013-02-08