Есть перебор блоков:
div.each(function(){
$.post(url,vars,function(data){
//....actions
})
})
Например в переборе 10 блоков div, из каждого мы вытягиваем данные и шлем их на сервер и ждем ответа, если делать так, то 10 запросов пошлются сразу, ответа друг за другом ждать они не будут. А нужно сделать так:
div.each(function(){
//..получили данные из текущего div
//шлем запрос и ждем ответ
$.post(url,vars,function(data){
//....actions
})
//как дождались ответа и выполнили действия с данными полученными в ответе от сервера приступаем к следующему шагу .each()
})
Я думаю можно слепить такой костыль:
div.each(function(){
var serverStatus=false;
//..получили данные из текущего div
//шлем запрос и ждем ответ
$.post(url,vars,function(data){
//....actions
serverStatus=true;
})
//каждых пол секунды проверяем переменную serverStatus (завершились ли действия над ответом от сервера)
var i = function f() {
if(serverStatus){ clearInterval(i); break;} //если завершились действия над ответом от сервера, то выходим из цикла и приступаем к след итерации .each()
}
setInterval(i, 500);
})
это все еще обернуть в цикл, ....
Но это по моему мнению очень плохой костыль, посоветуйте что-то более адыкватное!
p.s. спасибо за внимание)