javascript - 单线程 Javascript 中的 AJAX 实现

标签 javascript ajax multithreading browser asynchronous

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

实现浏览器是特定的吗?

最佳答案

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

Ajax 只是一种引发特定事件的机制。设置 HTTP 请求是同步的,但只是设置它。浏览器通过在发生这种情况时触发事件来响应代表服务器返回数据的网络通信。

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

关于javascript - 单线程 Javascript 中的 AJAX 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12785415/

相关文章:

javascript - 在 vendor/lib 目录中包含 Rails 中的 js/css 模块

javascript - 在ajax中获取动态ID时遇到问题

jquery - JStree 和 ajax

javascript - 将 PHP 数组传递给 Javascript w/o 显示在源代码中

java - 设计具有可变条目到期时间的 Guava LoadingCache

java - 为事件循环创建一个可观察对象

javascript - 使用数字作为 Redux 操作名称

javascript - 脚本缩小和与 MSBuild 的持续集成

c# - 任务并行库中的任务如何影响ActivityID?

php - 最佳 XMPP 客户端 PHP/Javascript