Предположим, что у меня есть обработчик событий, который вызывает два вызова AJAX на сервер:
$("#foo").click(function(){
$.get("bar", function(){ alert("Hello"); });
$.get("baz", function(){ alert("World"); });
});
Я понимаю, что порядок, в котором вызываются обратные вызовы, является недетерминированным, поскольку он зависит от того, сколько времени занимает каждый запрос и т.д.
Но вот мой вопрос: гарантировано ли, что я дойду до конца обработчика событий до вызова любой из функций обратного вызова? Я прочитал, что все Javascript для страницы выполняется в одном потоке, поэтому я думаю, что это означает, что мой обработчик событий click
должен быть завершен до того, как любой из вызывающих вызовов может быть вызван.
Это правильно? Или возможно, что первый запрос может быть завершен И первый обратный вызов выполняется до того, как мы дойдем до конца нашего обработчика событий?