【问题标题】:Why should I reuse XmlHttpRequest objects?为什么要重用 XmlHttpRequest 对象?
【发布时间】:2011-02-10 11:11:03
【问题描述】:

据我了解,最好的做法是尽可能重用 XmlHttpRequest 对象。不幸的是,我很难理解为什么。似乎通过尝试重用 XHR 对象会增加代码复杂性并引入可能的browser incompatibilities。那为什么这么多人推荐呢?

经过一番研究,我想出了这个可能的解释列表:

  1. 创建的对象越少意味着垃圾收集越少
  2. 重用 XHR 对象可减少内存泄漏的机会
  3. 创建新 XHR 对象的开销很高
  4. 浏览器能够在后台执行某种网络优化

但我还是有点怀疑。这些理由中的任何一个真的有效吗?如果不是,有什么正当理由?

【问题讨论】:

标签: javascript ajax xmlhttprequest


【解决方案1】:

有一大堆问题与您在任何时候可以拥有的打开连接数有关;通常这是在浏览器级别强加的,就像在所有版本的 Internet Explorer 中一样(IE6 允许 2,IE7 允许 2,IE8 允许 4),这通常是由服务器限制强加的,有时是由 Internet 服务提供商强加的。

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

你提到的所有原因。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-17
    • 2017-08-01
    • 2013-03-19
    • 2014-07-07
    • 2017-07-05
    • 1970-01-01
    相关资源
    最近更新 更多