Ребята, подскажите как сделать так, чтобы одна аякс функция выполнялась, когда другая закончит отработку.
Есть код:
//общая функция для ajax
function __get (d) {
$.ajax({type: 'POST',url: "modules/server.php",
data : d,
success : get_success,
error: get_error
});
function get_success(r){
if (r.status) return r; else return r.res;
}
function get_error(r){alert ('Ошибка!');}
}
....
var res=__get({ "operation" : "get_com", "id" : node.id });
comments=res.Data;
/* в этом случае функция __get не успевает отработать и передать comments параметры. comments==undefined*/
Как сделать так чтобы присвоение было только после как функция __get возвратит результат?
Сразу оговорюсь, что это одна функция имеет множество вхождений по коду. и решил сделать одну функцию, вместо того чтобы писать в коде развернутые $.ajax или $.post функции (т.е. с своими success и error).
setTimeout - лишь задерживает код на время, и не гарантирует, что функция завершиться вперед.
Вроде слышал, как то можно решить с помощью нового jQuery - выставлять очередность функции, но не могу найти.