Почему я должен снова использовать объекты XmlHttpRequest?

Из того, что я понимаю, это - лучшая практика для многократного использования объектов XmlHttpRequest, когда это возможно. К сожалению, мне нелегко понимать почему. Кажется, что путем попытки снова использовать XHR возражает, что Вы увеличиваете свою сложность кода, и Вы представляете возможные несовместимости браузера. Итак, почему столько людей рекомендует это?

После некоторого исследования я смог придумать этот список возможных объяснений:

  1. Меньше объектов создало средства меньше сборки "мусора"
  2. Многократное использование объектов XHR уменьшает шанс утечек памяти
  3. Издержки создания нового объекта XHR высоки
  4. Браузер может выполнить своего рода оптимизацию сети под капотом

Но я все еще немного скептически настроен. Действительно ли какая-либо из этих причин на самом деле допустима? В противном случае, что такое допустимая причина?

20
задан Xavi 21 April 2010 в 22:55
поделиться

1 ответ

Существует целый ряд проблем, связанных с количеством открытых соединений, которые вы можете иметь одновременно; часто это навязывается на уровне браузера, как и во всех версиях Internet Explorer (IE6 допускает 2, IE7 допускает 2, IE8 допускает 4), часто это налагается регулированием сервера, а иногда - поставщиками услуг Интернета.

Если у вас есть большое количество различных объектов XmlHttpRequest в одном скрипте, и по какой-то причине некоторые из их соединений не закрылись должным образом или не были GC'd, вы можете столкнуться с трудностями при открытии новых соединений и совершенно не знаете что идет не так.

Это и все причины, которые вы упомянули.

12
ответ дан 30 November 2019 в 01:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: