2016-09-20 5 views
0

Wenn Sie XMLHttpRequest bitten, eine asynchrone Arbeit auszuführen, wie viele gleichzeitige Arbeit könnte gleichzeitig ausgeführt werden?Javascript XMLHttpRequest: Wie viele Threads verwendet es?

Ich frage das, weil ich Pooling verwende, und mein JavaScript hängt, wenn ich die vierte Verbindung öffne. Aka Ich habe 4 asynchrone Objekte von XMLHttpRequest und sie alle tun extrem schwere Netzwerk-Aufgabe.

Gibt es eine solche Beschränkung für die gleichzeitige Anforderungen, die XMLHttpRequest asynchron verarbeiten kann?

Antwort

0

Die Grenze für die Anzahl paralleler Netzwerkanforderungen ist browserspezifisch und manchmal konfigurierbar, jedoch nicht innerhalb der Anwendung. Ofc, du kannst immer weniger als erlaubt verwenden.

Da Javascript jedoch single-threaded ist, wenn Sie nicht Web-Worker verwenden (was etwas anders ist), wird die Datenverarbeitung serialisiert. Netzwerkanforderungen werden in parallelen Threads ausgeführt, bis die Daten aus dem Netzwerk abgerufen werden.

+0

Können Sie mir zeigen, wenn es konfigurierbar ist? Weißt du, wie es in Chrome funktioniert? –

+0

Manchmal ist es über Browser-Konfigurationsdateien oder Registrierung möglich. Vielleicht hilft das: [vorheriges SO zu diesem Thema] (http://stackoverflow.com/questions/8404464/increasing-google-chromes-max-connections-per-server-limit-to-more-than-6) –