2016-03-28 18 views
10

W poniższym kodzie pierwsza wiadomość console.log zostanie wydrukowana niemal natychmiast. Wtedy wszystko po prostu się zawiesza (początkowo zakładam, że czekało na zwrócenie treści odpowiedzi). Ciało odpowiedzi jest tylko około 26K, czas oczekiwania wydaje się być nieograniczony, UNLESS, potrząsam telefonem i wchodzę w interakcję z menu debugowania. Gdy tylko wchodzę w interakcję z menu debugowania, obietnica zostaje rozwiązana i wszystko idzie zgodnie z oczekiwaniami. Moje interakcje z menu debugowania mogą być proste, takie jak inspekcja ukrywania, inspektor pokazów, po prostu bierze się coś, co przyspiesza działanie obietnicy i wszystko jest w porządku.Co może być przyczyną tego powolnego pobierania w reakcji natywnej?

fetch(SEARCH_URL, requestBody) 
    .then((response) => {console.log(response); return response.json();}) 
    .then((responseData) => { 
     debugger 
     ... 

Uwaga: odłączanie od debuggera i uruchomieniem kodu nie wykazuje powolność (i nie jest podłączony do debugera ignoruje oświadczenia debugera)

I tak, ponownym uruchomieniu komputera.

Może odkryli coś https://github.com/facebook/react-native/issues/6679

+0

Mam ten sam problem. Używanie 'react-native' v0.24.1 i zdarza się tylko w debugowaniu Chrome. Nie wierzę, że jest to związane z numerem 6679, do którego linkujesz. Myślę, że jest to związane z planowaniem asynchronicznym lub setTimeout i implementacją pobierania/obietnicy specyficzną dla Chrome. Należy pamiętać, że podczas debugowania w przeglądarce Chrome JS aplikacji RN jest całkowicie uruchamiany w przeglądarce. Istnieją podkładki i biblioteki, aby oba środowiska zachowywały się tak samo. Myślę, że jest problem z jednym z tych elementów. To może być dobre pytanie do grupy RN na Facebooku. – sstur

+0

@sstur ma rację, to z powodu debugowania Chrome. Wyłącz debugowanie chrome i znów masz dobrą jakość. – gre

+0

@gre: tak, możemy wyłączyć debugowanie Chrome i ponownie uzyskać dobrą jakość. ale to jest całkowicie błąd. Byłoby miło go wyśledzić i zobaczyć, co dokładnie powoduje to, więc można zaplanować poprawkę. Może problem z GH dla RN byłby odpowiedni. Niepewny. – sstur

Odpowiedz

1

Jak już dowiedział się, że jest to znany błąd, który should be fixed in react-native v0.31

+1

Zostało obiecane, że zostanie naprawiony w prawie każdej wersji po 0.24, więc nie wstrzymuj oddechu. – boatcoder

+0

to dzieje się na rn39 oraz –

0

Co pracował dla mnie jest w ruchu pobieranych z połączenia wewnątrz konstruktora składnika reagować. W przeciwnym razie nigdy się nie rozwiążą. Mam nadzieję, że to pomaga

+1

może to raczej komentarz niż odpowiedź –

1

Jest to znany błąd, który sprawia, że ​​analizowanie odpowiedzi może być opóźnione, gdy włączone jest zdalne debugowanie. Wyłączenie zdalnego debugowania powinno przyspieszyć to.

Możesz po szczegóły i inne obejścia.

Powiązane problemy