Estoy trabajando en algún tipo de interfaz editor/cooperativa multiusuario en línea, que hará mucho (como en miles) de solicitudes ajax durante el tiempo de vida de una página.Página con uso intensivo de Ajax: ¿reutilizar el mismo objeto XMLHttpRequest o crear uno nuevo cada vez?
lo que sería mejor: (problemas 'mejor' en términos de estabilidad, compatibilidad, evitando)
Crear un objeto XMLHttpRequest y reutilización que por cada petición HTTP
Crear un nuevo XMLHttpRequest objeto para cada solicitud HTTP
Administre un 'grupo' dinámico de objetos XMLHttpRequest, cree uno nuevo cuando inicie una solicitud HTTP y no haya ningún objeto existente disponible, y etiquete un archivo previamente creado bject como 'disponible' cuando su última solicitud se completó con éxito
Creo que 1 no es una opción, hacer que algunas solicitudes pueden fallar, me pueden iniciar nuevas peticiones, mientras que una anterior aún no está terminada, etc.
En cuanto a 2, supongo que se trata de una pérdida de memoria, o puede dar como resultado un uso insano de memoria/recursos. ¿O puedo de alguna manera cerrar o eliminar un objeto cuando se completa su solicitud? (¿dónde/cómo?) ¿O el recolector de basura JS se encarga de esto por sí mismo?
Nunca intenté 3 antes, pero se siente como lo mejor de ambos mundos. ¿O es innecesario un enfoque como ese o sigo perdiendo problemas potenciales? ¿Exactamente cuándo puedo asumir que una solicitud para ser completada (por lo tanto, el objeto está disponible para una nueva solicitud), es cuando recibo readyState 4 y el estado HTTP 200? (es decir, ¿puedo estar seguro de que no habrá más actualizaciones o devoluciones de llamada después de eso?)
Solo me pregunto qué servidor planeas usar y qué internet has conectado a esto porque este script si estás en lo correcto con las miles de solicitudes es extremadamente fácil usando – gabeio
Tengo un servidor dedicado brutal disponible para esto. Pero solo se esperan miles de solicitudes en el transcurso de varias horas, no es como una solicitud cada segundo más o menos. Más como unos pocos cada minuto, pero puede seguir haciéndolo durante muchas horas. –
ah bien javascript le irá bien si necesitara aún más rápido, es decir, una solicitud por segundo Yo sugeriría usar flash o un applet de Java – gabeio