如果 Javascript 不是多线程的,如何使 AJAX 请求异步?
实现浏览器是特定的吗?
最佳答案
浏览器执行模型基于“事件循环”的概念。只有一个线程服务事件(稍微过于简单化)。当事件发生时,处理程序将按顺序调用。
Ajax 只是一种引发特定事件的机制。设置 HTTP 请求是同步的,但只是设置它。浏览器通过在发生这种情况时触发事件来响应代表服务器返回数据的网络通信。
现代浏览器稍微复杂一些,因为每个窗口都可能有自己的进程(或者一般来说,是其他一些系统级“线程”结构)。此外,新的“web worker”功能允许独立的类似线程的隔间同时运行。
关于javascript - 单线程 Javascript 中的 AJAX 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12785415/