Shrnutí
V této lekci jste se naučili, že:
setTimeout(function () { ... }, 2000)spustí funkci jednou, za 2000 milisekund (2 sekundy). Předejte samotnou funkci, bez().- Skript na časovač nečeká: řádky za
setTimeout()proběhnou hned, a tak všechno, co se má stát po čekání, patří do funkce. setTimeout()vrací id časovače aclearTimeout(casovac)časovač zruší. Id si uložte do proměnné sletmimo obsluhy, aby ho mohla použít každá obsluha.setInterval(function () { ... }, 1000)spouští funkci každou sekundu, dokud interval nezastavíclearInterval(casovac). Proměnná mimo funkci si pamatuje to, co se mezi spuštěními mění, třeba zbývající sekundy.tlacitko.disabled = true;vypne tlačítko, zatímco stránka pracuje, afalseho zase zapne.- Funkce, která chvíli trvá, vrací objekt Promise, tedy hodnotu, která dorazí později.
awaitna hodnotu počká a funguje jen ve funkci označenéasync. Bezawaitdostanete samotný objekt Promise a stránka ukáže[object Promise]. - Funkce označená
asyncmůže čekat několikrát, krok za krokem, třeba pomocíawait pockej(1000);. Zbytek stránky mezitím funguje dál. - Zpráva jako
Načítám…předawaitdá uživateli vědět, že stránka čeká. - Když Promise selže,
awaitvyhodí chybu.try { ... } catch (chyba) { ... }ji zachytí achyba.messageje její text.finallyproběhne na konci v obou případech.
V příští lekci, Data ze serveru, budou vaše stránky načítat data ze serveru pomocí funkce fetch(), která taky vrací Promise, takže tam budete await používat pořád.
Nejdřív si ale procvičte časovače na bleskovém kvízu, ve kterém má hráč na odpověď jen 2 sekundy. Tentokrát je script.js prázdný a celý program napíšete sami.
Jak psát:
Pokyny
Když se klikne na tlačítko #start, nastavte časovač, který za 2 sekundy ukáže v prvku #vysledek text Čas vypršel!. Časovač uložte do proměnné casovac vytvořené pomocí let mimo obsluhu; za chvíli ji budete potřebovat.
Když se klikne na #jupiter, ukažte v prvku #vysledek text Správně! a zrušte časovač, aby ho Čas vypršel! nepřepsal.
Mars a Venuše jsou špatné odpovědi: když se klikne na kteroukoli z nich, ukažte Špatně! Je to Jupiter. a zrušte časovač taky.