You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
22 lines
749 B
22 lines
749 B
import { City } from '../../data/stub';
|
|
import {GET_CITIES} from '../constants';
|
|
import { setCityList } from './setCityList';
|
|
|
|
export const getCityList = () => {
|
|
return async dispatch => {
|
|
|
|
try {
|
|
const cityPromise = await fetch('https://iut-weather-api.azurewebsites.net/cities');
|
|
|
|
const cityListJson = await cityPromise.json();
|
|
|
|
const cityList: City[] = cityListJson.map((elt: { [x: string]: any; }) => new City(elt["name"], elt["latitude"], elt["longitude"]));
|
|
|
|
dispatch(setCityList(cityList));
|
|
} catch (error) {
|
|
console.log('Error---------', error);
|
|
//You can dispatch to another action if you want to display an error message in the application
|
|
//dispatch(fetchDataRejected(error))
|
|
}
|
|
}
|
|
} |