异步方法如何工作

时间:2010-03-31 22:35:44

标签: javascript ajax asynchronous

我想知道是否有人可以帮助我理解一些异步javascript概念......

说我像这样做一个asynch ajax调用:

  xmlhttp=new XMLHttpRequest();
  xmlhttp.onreadystatechange= myFoo;
  xmlhttp.open("GET",url,true);

这是我的回调函数:

function myFoo()
{
if (xmlhttp.readyState==4)
  {
  if (xmlhttp.status==200)
    {
    // Success message
    }
  else
    {
    // some error message
    }
  }
}

现在, 执行路径何时何地再次开始?一旦我调用open(),执行是否继续直接在open()下面执行,另一个“线程”在ajax请求完成后进入asynch函数?

或者,浏览器是否等待请求完成,进行Asynch调用,然后在打开后立即继续执行?

谢谢!

2 个答案:

答案 0 :(得分:3)

答案 1 :(得分:1)

首先,您缺少xmlhttp.send调用。

浏览器在等待打开后不等待请求完成继续。这就是整个想法与异步调用相悖。