Из того, что я понимаю, это - лучшая практика для многократного использования объектов XmlHttpRequest, когда это возможно. К сожалению, мне нелегко понимать почему. Кажется, что путем попытки снова использовать XHR возражает, что Вы увеличиваете свою сложность кода, и Вы представляете возможные несовместимости браузера. Итак, почему столько людей рекомендует это?
После некоторого исследования я смог придумать этот список возможных объяснений:
Но я все еще немного скептически настроен. Действительно ли какая-либо из этих причин на самом деле допустима? В противном случае, что такое допустимая причина?
Существует целый ряд проблем, связанных с количеством открытых соединений, которые вы можете иметь одновременно; часто это навязывается на уровне браузера, как и во всех версиях Internet Explorer (IE6 допускает 2, IE7 допускает 2, IE8 допускает 4), часто это налагается регулированием сервера, а иногда - поставщиками услуг Интернета.
Если у вас есть большое количество различных объектов XmlHttpRequest в одном скрипте, и по какой-то причине некоторые из их соединений не закрылись должным образом или не были GC'd, вы можете столкнуться с трудностями при открытии новых соединений и совершенно не знаете что идет не так.
Это и все причины, которые вы упомянули.