forked from extern/the-glorious-startpage
modularize fetching openweathermap data
This commit is contained in:
parent
c7b55d2e38
commit
53026c94b4
@ -146,21 +146,30 @@ class WeatherScreen {
|
|||||||
this._setWeatherValue(wLoc, wDesc, wIcon, rise, set, upd);
|
this._setWeatherValue(wLoc, wDesc, wIcon, rise, set, upd);
|
||||||
}
|
}
|
||||||
|
|
||||||
getWeatherData = (appID, cityID, units) => {
|
|
||||||
|
|
||||||
const requestString = `https://api.openweathermap.org/data/2.5/weather?APPID=${appID}&id=${cityID}&units=${units}`;
|
_fetchOpenWeatherMapDate = (requestStr, callback) => {
|
||||||
|
|
||||||
|
const requestString = requestStr;
|
||||||
|
|
||||||
const request = new XMLHttpRequest();
|
const request = new XMLHttpRequest();
|
||||||
request.open('GET', requestString, true);
|
request.open('GET', requestString, true);
|
||||||
request.onload = e => {
|
request.onload = e => {
|
||||||
if (request.readyState === 4 && request.status === 200 && request.status < 400) {
|
if (request.readyState === 4 && request.status === 200 && request.status < 400) {
|
||||||
this._tempSymbol = (units === 'metric') ? '°C' : '°F';
|
callback(JSON.parse(request.response));
|
||||||
this._processWeatherData(JSON.parse(request.response));
|
|
||||||
} else {
|
} else {
|
||||||
this._setErrValue();
|
this._setErrValue();
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
request.send();
|
request.send();
|
||||||
|
}
|
||||||
|
|
||||||
|
getWeatherData = (appID, cityID, units) => {
|
||||||
|
|
||||||
|
const requestString = `https://api.openweathermap.org/data/2.5/weather?APPID=${appID}&id=${cityID}&units=${units}`;
|
||||||
|
|
||||||
|
this._tempSymbol = (units === 'metric') ? '°C' : '°F';
|
||||||
|
|
||||||
|
this._fetchOpenWeatherMapDate(requestString, this._processWeatherData);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -168,17 +177,9 @@ class WeatherScreen {
|
|||||||
|
|
||||||
const requestString = `https://api.openweathermap.org/data/2.5/forecast?APPID=${appID}&id=${cityID}&units=${units}`;
|
const requestString = `https://api.openweathermap.org/data/2.5/forecast?APPID=${appID}&id=${cityID}&units=${units}`;
|
||||||
|
|
||||||
const request = new XMLHttpRequest();
|
this._tempSymbol = (units === 'metric') ? '°C' : '°F';
|
||||||
request.open('GET', requestString, true);
|
|
||||||
request.onload = e => {
|
this._fetchOpenWeatherMapDate(requestString, this._processForecastData);
|
||||||
if (request.readyState === 4 && request.status === 200 && request.status < 400) {
|
|
||||||
this._tempSymbol = (units === 'metric') ? '°C' : '°F';
|
|
||||||
this._processForecastData(JSON.parse(request.response));
|
|
||||||
} else {
|
|
||||||
this._setErrValue();
|
|
||||||
};
|
|
||||||
};
|
|
||||||
request.send();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_processForecastData = data => {
|
_processForecastData = data => {
|
||||||
|
Loading…
Reference in New Issue
Block a user