catch function in your api should either return some data which could be handled by Api call in React class or throw new error which should be caught using a catch function in your React class code. Latter approach should be something like:
return fetch(url) .then(function(response){ return response.json(); }) .then(function(json){ return { city: json.name, temperature: kelvinToF(json.main.temp), description: _.capitalize(json.weather[0].description) } }) .catch(function(error) { console.log('There has been a problem with your fetch operation: ' + error.message); // ADD THIS THROW error throw error; });
Then in your React Class:
Api(region.latitude, region.longitude) .then((data) => { console.log(data); this.setState(data); }).catch((error)=>{ console.log("Api call error"); alert(error.message); });