Проблемы с порядком выполнения кода.
var valueToReturn; function Trololo(){ $.post('maps/returnMePlz', {}, function(val){ valueToReturn = val; alert(valueToReturn); // алерт1 }); alert(valueToReturn) // алерт2 } Проблемы с порядком выполнения кода. Срабатывает сначала "алерт2", а затем "алерт1". Свойственно в "алерт2" выдаёт undefined. Как понимаю при встрече $.post'a он создаёт как отдельный поток выполнения программы и дальнейшая работа ф-ции и работа post'a идут паралельно. Как мне сделать фиксированный порядок выполнения? читал про jquery.when(), но документацию нашёл только на английском, поэтому процедура вкуривание вопроса была усложнена |
CostaConquesta,
Вот документация на русском языке. $.post - отсылает асинхронный запрос на сервер. Это означает, что браузер не ждет ответа и начинает выполнять код дальше. Как только ответ от сервера будет получен, то вызовется функция, указанная в параметрах. Если нужно сделать неасинхронный запрос, то необходимо установить async : false. $.ajax({ type: 'post', async: false, ... }); |
Часовой пояс GMT +3, время: 10:51. |