3

异步和同步之间有什么区别,区别对请求有何影响?

4

2 回答 2

5

来自 Mozilla 关于同步和异步请求的文章:

XMLHttpRequest 支持同步和异步通信。然而,一般来说,出于性能原因,异步请求应优先于同步请求。

简而言之,同步请求会阻塞代码的执行,并且会泄漏内存和事件。这可能会导致严重的问题。使用同步请求的唯一可行原因是更容易在 Web Workers 中促进下载。

异步请求是 XMLHttpRequest 存在的主要原因。XMLHttpRequest 是 AJAX 的基础,其理念是让您的 JavaScript 代码运行并且您的用户可以对您的页面执行任何操作,同时您的 JavaScript 在后台与服务器通信。例如,Gmail 以这种方式加载您的电子邮件。

同步请求会阻止您的脚本在传输完成时运行。简单地说,当异步请求可用时,没有理由这样做。如果您的 Gmail 一直冻结,那会很烦人,您不觉得吗?您很少(如果有的话)想要使用同步请求。

在某些情况下您必须使用同步请求,但在这些情况之外,您可能完全没有理由发出同步请求,并且完全有理由使用异步请求。

于 2013-05-01T23:51:37.010 回答
2

异步请求允许您的脚本在等待服务器回复时继续运行并执行其他操作。

同步请求会阻止脚本的执行,直到收到回复。这意味着您的应用程序将无响应并且无法执行任何其他操作。

于 2013-05-01T23:40:09.043 回答