Ajax-intensive Seite: Verwenden Sie dasselbe XMLHttpRequest-Objekt erneut oder erstellen Sie jedes Mal ein neues?

Ich arbeite an einer Art Online-Mehrbenutzer-Editor / Coop-Schnittstelle, die eine Menge (wie in Tausenden) Ajax-Anfragen während einer Seitenlebensdauer erledigen wird.

Was wäre das Beste: ('Beste' in Bezug auf Stabilität, Kompatibilität, Vermeidung von Problemen)

Erstellen Sie ein XMLHttpRequest-Objekt und verwenden Sie dieses für jede HTTP-Anforderung erneut

Erstellen Sie für jede HTTP-Anforderung ein neues XMLHttpRequest-Objekt

Verwalten Sie einen dynamischen 'Pool' von XMLHttpRequest-Objekten, erstellen Sie einen neuen, wenn Sie eine HTTP-Anfrage starten und kein vorhandenes Objekt verfügbar ist, und markieren Sie ein zuvor erstelltes Objekt als 'verfügbar', wenn seine letzte Anfrage erfolgreich abgeschlossen wurde

Ich denke, 1 ist keine Option, da einige Anforderungen fehlschlagen können, ich neue Anforderungen initiiere, während eine vorherige noch nicht abgeschlossen ist usw.

Was 2 betrifft, so ist dies vermutlich ein Speicherverlust oder kann zu einer verrückten Speicher- / Ressourcennutzung führen. Oder kann ich ein Objekt irgendwie schließen oder löschen, wenn seine Anforderung abgeschlossen ist? (wo / wie?) Oder kümmert sich der JS-Müllmann selbst richtig darum?

Nie zuvor versucht 3, aber es fühlt sich an wie das Beste aus beiden Welten. Oder ist ein solcher Ansatz unnötig oder fehlen mir noch mögliche Probleme? Wann genau kann ich davon ausgehen, dass eine Anforderung abgeschlossen ist (dh, dass das Objekt für eine neue Anforderung verfügbar ist), ist dies beim Empfang von readyState 4 und http-Status 200 der Fall? (d. h. kann ich sicher sein, dass danach keine Updates oder Rückrufe mehr folgen werden?)

Antworten auf die Frage(1)

Ihre Antwort auf die Frage