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

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

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

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

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


person Xavi    schedule 21.04.2010    source источник
comment
stackoverflow.com/ вопросов/11502244/ кажется, не согласен. См. также stackoverflow.com/questions/11079543/   -  person nafg    schedule 05.06.2013


Ответы (1)


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

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

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

person Finbarr    schedule 21.04.2010