2
respostas

Lentidão no fetch e axios.

Criei um projeto com react-native (0.72) e estou fazendo teste de consumo de api. Reparei que fora do emulador, quando testo diretamente no celular (via depuração por wi-fi) há uma demora de uns 30 segundos em média para retornar a requisição. Achei que poderia ser um problema no fetch e tentei com o axios. Mesmo problema.

Realizando as mesmas requisições no emulador ou em um iPhone o problema não aparece.

Outra coisa interessante é que quando se faz a requisição pela primeira vez, essa lentidão aparece mas, assim que a resposta é fornecida e tento fazer uma nova requisição em seguida, a resposta é bem rápida.

O que fiz foi criar um projeto e um botão que faz uma requisição (pode ser pra qualquer API).

Repetindo: a demora é somente no celular físico (testei em 3 diferentes). A mesma requisição em emulador ou mesmo no Insomnia é bem rápida.

Alguém já teve esse problema e conseguiu resolver?

2 respostas

Olá, Paulo!

Pelo que você descreveu, parece que o problema não está no fetch ou no axios, mas sim na conexão do seu celular com a internet ou com o servidor da API. A lentidão na primeira requisição pode ser devido ao tempo que leva para estabelecer a conexão inicial, e as requisições subsequentes são mais rápidas porque a conexão já está aberta.

Algumas coisas que você pode tentar para resolver este problema:

  1. Verifique a velocidade da sua conexão de internet no celular. Talvez a conexão Wi-Fi esteja lenta ou instável. Você pode testar isso fazendo o mesmo teste em uma rede Wi-Fi diferente ou usando dados móveis.

  2. Verifique se há alguma configuração no seu celular que possa estar limitando a velocidade de conexão. Alguns celulares têm opções de "otimização de bateria" ou "economia de dados" que podem limitar a velocidade da internet.

  3. Verifique se o problema ocorre com todas as APIs ou apenas com uma específica. Se for apenas uma API, pode ser que o servidor dela esteja lento ou sobrecarregado.

  4. Tente desabilitar o "Debug JS Remotely" no menu de desenvolvedor do React Native. Às vezes, essa opção pode causar lentidão nas requisições de rede.

Espero que essas sugestões possam te ajudar a identificar e resolver o problema. Lembre-se, essas são apenas sugestões e podem não resolver completamente o seu problema, mas são um bom ponto de partida para a solução.

Espero ter ajudado e bons estudos!

Obrigado pelo retorno, Matheus.

  1. Não é um problema na conexão. Tudo funcionando normalmente. Estável e rápida;
  2. Não há limitação. O problema ocorre somente no Android no consumo de qualquer API pela primeira vez;
  3. Qualquer API.
  4. O problema persiste.

Está me parecendo algum bug. Estive com um iPhone ontem e fiz o mesmo teste e o problema não ocorre. Somente com Android.

Não consigo entender.

Recriei o projeto do zero só para testar novamente e o problema está de volta.

Funciona bem nos emuladores, no iPhone (pareado via wi-fi) e as requisições retornam instantaneamente no Insomnia. Somente no Android o problema ocorre. Sempre na primeira chamada apenas.