代码之家  ›  专栏  ›  技术社区  ›  Xavi Arik G

为什么要重用XMLHttpRequest对象?

  •  20
  • Xavi Arik G  · 技术社区  · 15 年前

    据我所知,尽可能重用XMLHttpRequest对象是最佳实践。不幸的是,我很难理解为什么。似乎通过尝试重用XHR对象,您增加了代码的复杂性,并可能引入 browser incompatibilities . 那么为什么这么多人推荐它呢?

    经过一些研究,我得出了这个可能的解释清单:

    1. 创建的对象越少,垃圾收集就越少。
    2. 重用XHR对象可减少内存泄漏的可能性
    3. 创建新的XHR对象的开销很高
    4. 浏览器能够在引擎盖下执行某种网络优化

    但我还是有点怀疑。这些原因中是否有真正的原因?如果没有,什么是合理的理由?

    1 回复  |  直到 15 年前
        1
  •  12
  •   Finbarr    15 年前

    在同一时间,您可以拥有的开放连接的数量有很多问题;这通常是在浏览器级别上实施的,就像在Internet Explorer的所有版本中一样(IE6允许2,IE7允许2,IE8允许4),这通常是由服务器限制实施的,有时是由Internet服务提供商实施的。

    如果在一个脚本中有大量不同的xmlhttpRequest对象,并且由于某些原因,它们的某些连接没有正确关闭或未被GC关闭,则可能会遇到打开新连接的困难,并且完全不知道发生了什么问题。

    以及你提到的所有原因。