7

如果 Javascript 不是多线程的,AJAX 请求如何异步?

实现浏览器是特定的吗?

4

1 回答 1

8

浏览器执行模型基于“事件循环”的概念。只有一个线程服务于事件(稍微过于简单化)。当事件发生时,将按顺序调用处理程序。

Ajax 只是一种导致某些事件的机制。设置 HTTP 请求是同步的,但只是设置而已。浏览器通过在发生时触发事件来响应表示从服务器返回数据的网络通信。

现代浏览器有些复杂,因为每个窗口可能有自己的进程(或其他一些系统级“线程”结构,一般来说)。此外,新的“网络工作者”功能允许单独的类似线程的隔间同时运行。

于 2012-10-08T16:17:21.073 回答