Encadena ajax y ejecútalo en secuencia. Jquery Deferred
Tengo 3 procesos que necesita ajax para completar. Pero es asíncrono y no hace lo que quería hacer ...
Digamos:
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");
}
})
}
Quiero que se ejecute asi
a
b
c
Ese código funcionará perfectamente, como puede ver ... pero si usa un bucle.
var data = [{param1 : 1235, param2: 3214}, {param1 : 5432, param2: 9876}];
$.each(data, function(k,v){
a(v.param1, v.param2)
});
No funcionará como se esperaba y solo funcionará:
a
a
b
b
c
c
en lugar de
a
b
c
a
b
c