Im folgenden Code wird die erste console.log-Nachricht so schnell wie möglich gedruckt. Dann hängt alles einfach (ich bin zunächst davon ausgegangen, dass es darauf warte, dass der Text der Antwort zurückgegeben wird). Der Body der Antwort ist nur etwa 26K, die Wartezeit scheint unbestimmt zu sein, OHNE dass ich das Telefon schüttele und mit dem Debug-Menü interagiere. Sobald ich mit dem Debug-Menü interagiere, verrechnet sich das Versprechen und alles bewegt sich wie erwartet. Meine Interaktionen mit dem Debug-Menü können einfach sein, wie zum Beispiel verstecken Inspektor, Show-Inspektor, nimmt nur etwas, um die Versprechen Auflösung in Gang zu treten und alles ist in Ordnung.Was könnte dieses langsame Fetch im reaktiven nativen verursachen?
fetch(SEARCH_URL, requestBody)
.then((response) => {console.log(response); return response.json();})
.then((responseData) => {
debugger
...
Hinweis: Entfernen vom Debugger und Ausführen des Codes zeigt nicht die Langsamkeit (und nicht verbunden ist, an der Debugger die Debugger-Anweisungen ignoriert)
Und ja, habe ich den Computer neu gestartet.
könnte etwas in https://github.com/facebook/react-native/issues/6679
Ich habe das gleiche Problem. Die Verwendung von 'reactive-native' v0.24.1 geschieht nur im Chrome-Debugging. Ich glaube nicht, dass dies mit dem Problem 6679 zu tun hat, auf das Sie verlinken. Ich denke, es hängt mit der Chrome-spezifischen asynchronen Planung oder setTimeout- und fetch/promise-Implementierung zusammen. Beachten Sie, dass beim Debuggen in Chrome das JS Ihrer RN App vollständig im Browser ausgeführt wird. Es sind Shims und Bibliotheken vorhanden, damit sich die beiden Umgebungen gleich verhalten. Ich denke, es gibt ein Problem mit einem dieser Stücke. Das ist vielleicht eine gute Frage, die Sie in der RN-Facebook-Gruppe stellen können. – sstur
@sstur ist richtig, es ist wegen Chrome Debugging. Deaktivieren Sie das Debuggen von Chrom und Sie haben wieder eine gute Leistung. – gre
@gre: Ja, wir können das Chrome-Debugging deaktivieren und erhalten wieder eine gute Leistung. aber das ist total ein Fehler. Es wäre schön, es aufzuspüren und zu sehen, was genau es verursacht, damit eine Reparatur geplant werden kann. Vielleicht wäre ein GH-Problem für RN angemessen. Nicht sicher. – sstur