从 Mozilla 的 同步和异步请求 文章中可以看出,XMLHttpRequest 支持同步和异步通信。然而,基于性能的考虑,异步请求应该优先于同步请求。简而言之,同步请求会阻止代码的执行并可能导致内存泄漏和事件问题。这可能会引起严重的问题。仅有的使用同步请求的合理原因是更容易地在 Web Workers 中进行下载。异步请求是 XMLHttpRequest 存在的主要原因。XMLHttpRequest 是 AJAX 的基础,其思想是让 JavaScript 代码运行并让用户在后台与服务器通信。例如 Gmail 就是这样加载电子邮件的。同步请求会阻止脚本在传输完成前运行。简单来说,当异步请求可用时,没有理由这样做。如果你的 Gmail 经常冻结,那么这将非常烦人,你很少或者根本不需要使用同步请求。 有些情况下必须使用同步请求, 但在这些情况之外,你很可能没有理由进行同步请求,并且有充分的理由使用异步请求。