Plusieurs appels ajax de la matrice et de la poignée de rappel une fois rempli

J'ai utilisé des promesses en jQuery légèrement avant mais j'ai du mal à l'appliquer à ce scénario. Je préfère utiliser le $.lorsque() et $.done() les méthodes pour y parvenir.

De ce que je comprends que j'ai besoin de construire un $.Différée objet qui enregistre les demandes et lorsque ces demandes sont finis - le-feu le rappel. Dans mon code ci-dessous le rappel est tir avant les requêtes ajax et pas après peut-être que j'ai juste besoin de dormir,

Je sais que mon code est incomplet, j'ai eu du mal à l'appliquer avec l'ajout de la boucle for.

http://jsfiddle.net/whiteb0x/MBZEu/

var list = ['obj1', 'obj2', 'obj3', 'obj4', 'obj5'];
var callback = function() {
  alert("done");
};
var requests = [];

var ajaxFunction = function(obj, successCallback, errorCallback) {
  for(i = 0; i < list.length; i++) {
    $.ajax({
      url: 'url',
      success: function() {
            requests.push(this);
      }
    });
  }
};
$.when($.ajax(), ajaxFunction).then(function(results){callback()});
Regarder cette question de recevoir toutes les promesses comme un tableau stackoverflow.com/a/16208148

OriginalL'auteur user1982408 | 2013-01-16