Näytän sinulle: fetch – tilaus koodilla
Edellisessä oppitunnissa avasit API:n selaimessa käsin. Nyt JavaScriptisi tekee saman – fetch-komennolla:
const adresa = 'https://api.open-meteo.com/v1/forecast?latitude=49.19&longitude=16.61¤t_weather=true';
const odpoved = await fetch(adresa);
const data = await odpoved.json();
console.log(data.current_weather.temperature);
Mitä tässä tapahtuu, rivi riviltä:
fetch(adresa)– lähetä pyyntö (tarjoilija menee keittiöön).await– odota että se palaa. Internet kestää hetken!odpoved.json()– muunna vastaus JavaScript-objektiksi.- Sitten työskentelet datalla kuin tavallisen objektin kanssa: piste, piste, valmis.
await toimii vain funktiossa merkitty async, tai <script type="module">:ssä. Jos selain näyttää virheen “await is only valid in async functions”, kääri koodisi näin:
async function nacti() {
// fetch and await go here
}
nacti();
Tulosta data sivulle
Konsoli on ohjelmoijille – vierailija haluaa nähdä datan sivulla:
<p id="teplota">Loading…</p>
<script type="module">
const odpoved = await fetch('https://api.open-meteo.com/v1/forecast?latitude=49.19&longitude=16.61¤t_weather=true');
const data = await odpoved.json();
document.querySelector('#teplota').textContent =
`Right now it's ${data.current_weather.temperature} °C`;
</script>
Tuttuja asioita Taikurilta (querySelector, textContent) plus uusi fetch. Ei muuta.
Nyt sinun vuorosi 💪
- Lisää kappale
id="teplota":lla ja yllä oleva skripti verkkosivullesi. - Vaihda koordinaatit omaan kaupunkiisi.
- Lisää näyttöön myös tuulen nopeus (
data.current_weather.windspeed). - Bonus: kun lämpötila on alle 0, lisää tekstiin ”🥶 Bundle up!”
Tarkista: Oikea nykyinen lämpötila ilmestyy sivullesi sen latauduttua. Jos sammutat Wi-Fin ja päivität sivun, se pysyy “Loading…”:ssa – todiste että data todella tulee internetistä.
Mitä opit tästä oppitunnista
fetch(adresa)lähettää pyynnön,awaitodottaa vastausta..json()muuntaa vastauksen objektiksi, jonka kanssa osaat jo työskennellä.- Koko internetin data on nyt vain yhden funktion päässä.
© 2026 Ing. Martin Polak / AlgoRhino · Sisällön käyttöehdot