it-swarm.com.ru

Как обрабатывать сбои сети в React-Native, когда сеть выключена

Как обрабатывать сбои сети в React-Native, когда устройство не подключено к сети.

Мой сценарий пытается подключить некоторые API-интерфейсы, при получении запроса, если сеть отключена реагировать нативные броски ошибка сетевого запроса . как справиться с этим сценарием, чтобы дать пользователю лучший пользовательский опыт.

Как обработать сетевой запрос не удалось в лучшую сторону.

enter image description here

10
rakesh r

Используйте NetInfo вот так:

// Check for network connectivity
NetInfo.isConnected.fetch().done((isConnected) => {
    if ( isConnected )
    {
        // Run your API call
    }
    else
    {
        // Ideally load from local storage
    }
});
8
Ryan Marshall

Обработайте исключение, используя блок catch, из блока catch вы можете выполнить действие, которое обрабатывает исключение, может быть перенаправление или изменение состояния, чтобы показать ошибку

const url = `your url to be fetched`;
        fetch(url, {
          method: "GET",
          headers: header
        })
          .then(res => res.json())
          .then(json => {
            console.log(json);
             this.setState({
                data:json
              });  
    })
    .catch(error => {
      if (error) {
        //perform the redirection to the network request slow page or set state to show error
      }
    });
1
Nandagopan PB

Вы можете попробовать это для обработки ошибок с помощью fetch ()

// Handling Internet Errors


handleErrors(response) {
    if (!response.ok) {
        throw Error(response.statusText);
    }
    return response;
  }


fetch(/*"url"*/)
  .then(this.handleErrors)
  .then(response => console.log("ok") )
  .catch(error => console.log(error) );
0
AndroConsis