You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.1 KiB
2.1 KiB
25 - Moderní Fetch s Async / Await
🎯 Co se naučíte
V této lekci se naučíte moderní a přehlednější způsob práce s asynchronním kódem pomocí klíčových slov async a await.
📚 Témata lekce
- async / await - moderní syntax pro asynchronní operace
- try / catch / finally - komplexní ošetření chyb v asynchronním kódu
- Response.ok - kontrola úspěšnosti HTTP požadavku (stavové kódy 200-299)
- Dynamické generování HTML - vytváření seznamů a karet (cards) z JSON dat
- Vnořené požadavky - načítání souvisejících dat (např. příspěvky konkrétního uživatele)
- Stav aplikace - práce s UI během načítání (loading indicators, zablokování tlačítek)
📂 Soubory v projektu
index.html- uživatelské rozhraní pro vyhledávání uživatelů a jejich příspěvkůscript.js- logika aplikace s využitímasync/awaita JSONPlaceholder APIstyle.css- stylování výsledků a karet uživatelů
💻 Klíčové koncepty
Struktura async funkce s error handlingem:
async function nactiData() {
try {
const odpoved = await fetch(url);
// Kontrola, zda server odpověděl úspěšně
if (!odpoved.ok) {
throw new Error("Data se nepodařilo načíst");
}
const data = await odpoved.json();
// Práce s daty...
} catch (error) {
// Ošetření chyby
console.error("Chyba:", error.message);
} finally {
// Provede se vždy (např. skrytí loaderu)
console.log("Pokus o načtení dokončen");
}
}
🚀 Jak s lekcí pracovat
- Otevřete
index.html. - Klikněte na "Načíst vše" pro zobrazení seznamu uživatelů.
- Zadejte ID uživatele (1-10) a vyhledejte konkrétní osobu.
- Po nalezení uživatele se aktivuje tlačítko pro načtení jeho příspěvků (postů).
- Sledujte v
script.js, jak jsou funkce řetězeny a jak se mění stav UI.
🔗 Související lekce
- Předchozí: 24_fetch - Fetch API se syntaxí .then()
- Následující: 26_localstorage - Ukládání dat v prohlížeči