【发布时间】:2011-03-24 13:15:38
【问题描述】:
Ajax 中的异步是什么意思?以及 Ajax 是如何知道何时在没有服务器轮询的情况下提取数据的?
【问题讨论】:
标签: javascript ajax asynchronous
Ajax 中的异步是什么意思?以及 Ajax 是如何知道何时在没有服务器轮询的情况下提取数据的?
【问题讨论】:
标签: javascript ajax asynchronous
异步(在 Ajax 中)在一个常量事件堆栈中处理传入的请求,并一个接一个地发送小请求而不等待响应。换句话说,异步 ajax 调用允许执行下一行代码,而同步调用停止 JavaScript 执行,直到来自服务器的响应。
【讨论】:
浏览器不提供线程模型的访问权限,因此我们只有一个线程来处理用户界面。因此,应用程序中的所有修改都在同一个线程中。
幸运的是,浏览器公开了几个异步 API,例如 XHR(XMLHttpRequest),也称为 AJAX。当您为某个对象注册事件处理程序时,该对象的操作将在另一个线程中执行,浏览器将在主线程中触发事件。
所以异步意味着浏览器不会等待主线程空闲时执行操作
【讨论】:
异步意味着脚本将向服务器发送请求,并继续执行而不等待回复。一旦收到回复,就会触发浏览器事件,这反过来又允许脚本执行相关操作。
Ajax 知道什么时候从服务器拉取数据,因为你告诉它什么时候做。
【讨论】:
关于它在任何其他上下文中的含义。当您进行 ajax 调用时,它不会阻塞,直到它返回。
【讨论】: