Pokažem ti: fetch – naročanje s kodo
V prejšnji lekciji si API odprl ročno v brskalniku. Zdaj bo isto naredil JavaScript – z ukazom fetch:
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);
Kaj se dogaja, vrstico za vrstico:
fetch(adresa)– pošlje zahtevo (natakar gre v kuhinjo).await– počakaj, da pride nazaj. Internet potrebuje trenutek!odpoved.json()– odgovor pretvori v JavaScript objekt.- Nato delaš s podatki kot z navadnim objektom: pika, pika, konec.
await deluje le v funkciji z async ali v <script type="module">. Če brskalnik pokaže napako “await is only valid in async functions”, kodo ovij tako:
async function nacti() {
// fetch and await go here
}
nacti();
Izpiši podatke na stran
Konzola je za programerje – obiskovalec hoče podatke na strani:
<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>
Znano iz Čarovnika (querySelector, textContent) plus nov fetch. Nič več.
Zdaj si na vrsti 💪
- Na stran dodaj odstavek z
id="teplota"in skript zgoraj. - Koordinate spremeni na svoje mesto.
- Na prikaz dodaj tudi hitrost vetra (
data.current_weather.windspeed). - Bonus: ko je temperatura pod 0, v besedilo dodaj ”🥶 Bundle up!”.
Preveri se: Po nalaganju se na strani pokaže resnična trenutna temperatura. Če izklopiš Wi-Fi in osvežiš stran, ostane “Loading…” – dokaz, da podatki res prihajajo z interneta.
Kaj si vzameš iz te lekcije
fetch(adresa)pošlje zahtevo,awaitpočaka na odgovor..json()pretvori odgovor v objekt, s katerim že znaš delati.- Podatki celega interneta so zdaj le eno funkcijo stran.
© 2026 Ing. Martin Polak / AlgoRhino · Pogoji uporabe vsebine