Ajaxez la chaîne et exécutez-la en séquence. Jquery différé

J'ai 3 processus qui a besoin d'ajax pour terminer. Mais il est asynchrone et il ne parvient pas à faire ce que je voulais faire..

Permet de dire:

function a(param1, param2) {
     $.post(..., function(result){
         if(result){
            b();
         } else {
            console.log("failed a");
         }
     })
}

function b() {
      $.post(..., function(result){
         if(result){
            c();
         } else {
            console.log("failed b");
         }
     })
}

function c() {
     $.post(..., function(result){
         if(result){
            console.log("successful");
         } else {
            console.log("failed b");
         }
     })
}

Je veux exécuter comme ce

a
b
c

Que le code fonctionne parfaitement, comme vous pouvez le voir..
mais si l'utilisation d'une boucle.

 var data = [{param1 : 1235, param2: 3214},  {param1 : 5432, param2: 9876}];

 $.each(data, function(k,v){
      a(v.param1, v.param2)
 });

Il ne fonctionnera pas comme prévu et va tout simplement faire:

a
a
b
b
c
c

au lieu de

a
b
c
a
b
c

source d'informationauteur Joey Hipolito