ассинхронность в порядке очечереди
Ребята, подскажите как сделать так, чтобы одна аякс функция выполнялась, когда другая закончит отработку.
Есть код: //общая функция для 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 - выставлять очередность функции, но не могу найти. |
есть три способа получить ответ (результирующий текст)
Цитата:
|
Часовой пояс GMT +3, время: 19:29. |