У меня есть 3 процесса, для которых требуется выполнить ajax. Но он асинхронен и не выполняет то, что я хотел сделать.
Давайте скажем:
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");
}
})
}
Я хочу, чтобы он выполнялся следующим образом
a
b
c
Этот код будет работать отлично, как вы можете видеть. но если использовать цикл.
var data = [{param1 : 1235, param2: 3214}, {param1 : 5432, param2: 9876}];
$.each(data, function(k,v){
a(v.param1, v.param2)
});
Он не будет работать так, как ожидалось, и просто сделает:
a
a
b
b
c
c
вместо
a
b
c
a
b
c