SHOW:
|
|
- or go back to the newest paste.
| 1 | (() => {
| |
| 2 | ||
| 3 | const BASE_URL = "https://judgetests.firebaseio.com/locations.json"; | |
| 4 | let TODAY_URL = "https://judgetests.firebaseio.com/forecast/today/{code}.json";
| |
| 5 | ||
| 6 | const elements = {
| |
| 7 | locationInput: document.querySelector("#location"),
| |
| 8 | button: document.querySelector("#submit"),
| |
| 9 | notificationHeading: document.querySelector('h1.notification')
| |
| 10 | }; | |
| 11 | ||
| 12 | const errorHandler = (e) => {
| |
| 13 | console.dir(e); | |
| 14 | elements.notificationHeading.textContent = e.message; | |
| 15 | }; | |
| 16 | ||
| 17 | const jsonMiddleware = (r) => r.json(); | |
| 18 | ||
| 19 | elements.button.addEventListener("click", getLocationValue);
| |
| 20 | ||
| 21 | function getLocationValue() {
| |
| 22 | ||
| 23 | const location = elements.locationInput.value; | |
| 24 | ||
| 25 | fetch(BASE_URL) | |
| 26 | .then(jsonMiddleware) | |
| 27 | .then((data) => {
| |
| 28 | const { name, code } = data.find((o) => o.name === location);
| |
| 29 | ||
| 30 | TODAY_URL = TODAY_URL.replace('{code}', code);
| |
| 31 | ||
| 32 | fetch(TODAY_URL) | |
| 33 | .then(jsonMiddleware) | |
| 34 | .then((data) => {
| |
| 35 | console.log(data); | |
| 36 | }) | |
| 37 | .catch(errorHandler) | |
| 38 | }) | |
| 39 | .catch(errorHandler) | |
| 40 | } | |
| 41 | })(); |