假设我有一个事件处理程序,一个将一对AJAX调用服务器:事件处理程序是否保证在调用AJAX回调之前完成?
$("#foo").click(function(){
$.get("bar", function(){ alert("Hello"); });
$.get("baz", function(){ alert("World"); });
});
我意识到其中的回调调用的顺序是不确定的,因为这取决于每个请求需要多长时间,等等。
但这里是我的问题:这是保证,我会任的回调函数之前到达我的事件处理程序结束时调用?我读过所有的JavaScript的网页在一个单独的线程来执行,所以我认为这意味着我click
事件处理程序是保证完成任何回调都可以调用之前。
这是正确的吗?或者有可能第一个请求可能完成,并且在我们甚至到达事件处理程序结束之前执行第一个回调?
OP没有询问异步任务返回的顺序 – 2012-04-03 19:18:44
不是他不是,但我想说的是,如果他控制了所有异步回调,他可能不会遇到他试图避免的问题第一名。这似乎是要确保处理程序在其他处理程序之前完成。 – 2012-04-03 19:20:55
“这是正确的吗?或者有可能第一个请求可能会完成,并且在我们甚至到达事件处理程序结束之前执行第一个回调?”如果它的编程方式明确,比他不会有这个问题,他会吗? – 2012-04-03 19:22:05