2017-01-17 45 views
5

Mam problem z tym punktem, że jeśli w moim telefonie jestem w kiepskim połączeniu sieciowym, Niektóre z tego, w jaki sposób dzwonię, wymagają więcej czasu, aby zadzwonić do usługiJak sprawdzić stan sieci w reakcji na natywną aplikację

  • Czy istnieje możliwość zwiększenia limitu czasu fetch (lub)
  • Jak poinformować użytkownika, że ​​u są w złym podłączeniem do Internetu.

    Do sprawdzania połączenia z Internetem używam networkInfo, ale pomoc tylko dla połączenia istnieje czy nie, ale nie daje żadnych informacji o prędkości sieci.

Jeśli Możliwa może ktoś mi dać propozycje, które, jak mogę rozwiązać ten problem, Każda pomoc bardzo cenione Używam reagować natywną wersję: 0.29.0

Odpowiedz

4

Jeśli tylko chcesz Aby dowiedzieć się, czy urządzenie ma aktywne połączenie z Internetem, możesz użyć np isConnected od React Native na NetInfo:

import {NetInfo} from 'react-native'; 

NetInfo.isConnected.addEventListener('change', (hasInternetConnection) = console.debug(`hasInternetConnection:`, hasInternetConnection)); 

Jednak nie jestem pewien, w jaki sposób dowiedzieć się, jak dobre połączenia.

+0

Oryginalny pytanie o "szybkości sieci", a nie samego połączenia. – zvona

+0

Rozumiem. Edytowałem odpowiedź, aby dokładnie określić, co osiąga, aby wyjaśnić, że nie sprawdza ona jakości połączenia. – ArneHugo

0

import {NetInfo, Text} from 'react-native'; 
 

 

 
Class CheckCon extends Component { 
 
    componentDidMount=() => { 
 
    const dispatchConnected = isConnected => this.props.dispatch(setIsConnected(isConnected)); 
 
    NetInfo.isConnected.fetch().then().done(() => { 
 
    NetInfo.isConnected.addEventListener('change', dispatchConnected); 
 
    }); 
 
    } 
 
    render=() =>{ 
 
    retrurn (<Text> check </Text>) 
 
    } 
 
} 
 
export defualt CheckCon;