Página con uso intensivo de Ajax: ¿reutilizar el mismo objeto XMLHttpRequest o crear uno nuevo cada vez?
Estoy trabajando en algún tipo de interfaz de editor / cooperativo multiusuario en línea, que estará haciendo muchas (como en miles) solicitudes de ajax durante la vida de una página.
Lo que sería mejor: ('mejor' en términos de estabilidad, compatibilidad, evitar problemas)
Cree un objeto XMLHttpRequest y reutilícelo para cada solicitud HTTP
Cree un nuevo objeto XMLHttpRequest para cada solicitud HTTP
Administre un 'grupo' dinámico de objetos XMLHttpRequest, creando uno nuevo al iniciar una solicitud HTTP y no haya ningún objeto disponible, y etiquetando un objeto creado previamente como 'disponible' cuando su última solicitud se completó con éxito
Creo que 1 no es una opción, porque algunas solicitudes pueden fallar, es posible que esté iniciando nuevas solicitudes mientras que la anterior aún no haya finalizado, etc.
En cuanto a 2, supongo que esto es una pérdida de memoria, o puede resultar en un uso insatisfactorio de memoria / recursos. ¿O puedo de alguna manera cerrar o eliminar un objeto cuando finalice su solicitud? (¿dónde / cómo?) ¿O el recolector de basura JS se encarga de esto?
Nunca probé 3 antes, pero se siente como lo mejor de ambos mundos. ¿O es un enfoque como ese innecesario, o todavía estoy perdiendo problemas potenciales? Exactamente, ¿cuándo puedo asumir que una solicitud está terminada (por lo tanto, el objeto está disponible para una nueva solicitud), es cuando se recibe readyState 4 y http status 200? (es decir, ¿puedo estar seguro de que no habrá más actualizaciones o devoluciones de llamada después de eso?)