Javascript: Ajax call with fetch and promise Jan 10, 2019 This is just simple example how to fetch data from Metaweather API. We are using crossorigin.me here, so we avoid CORS. function getWeather(woeid) { fetch(`https://crossorigin.me/https://www.metaweather.com/api/location/${woeid}`) .then(result => { return result.json(); }) .then(data => { console.log(data); }) } getWeather(44418); Now we do async version (this will work only in ES8/ES2017) which will return data. Async function always return promise. async function getWeatherAW(woeid) { try { const result = await fetch(`https://crossorigin.me/https://www.metaweather.com/api/location/${woeid}`); const data = await result.json(); return data; } catch(error) { console.log(error); } } let dataLondon; getWeatherAW(44418).then(data => { dataLondon = data; console.log(dataLondon); });