Synchrónny a asynchrónny kód v JavaScripte
Zvážme nasledujúci kód:
console.log('1');
console.log('2');
Je zrejmé, že najprv sa vykoná prvý výpis do konzoly a potom - druhý. To znamená, že príkazy nášho kódu sa vykonávajú jeden po druhom - v poradí ich postupnosti v kóde. Takýto kód sa nazýva synchrónny.
Teraz zvážme nasledujúci kód:
setTimeout(function() {
console.log('1');
}, 3000);
console.log('2');
V tomto prípade sa príkazy nevykonávajú v poradí postupnosti v kóde: prvý výpis do konzoly sa vykoná, keď príde jeho čas, ale zvyšok kódu na tento moment nečaká, a pokračuje vo vykonávaní. Takýto kód sa nazýva asynchrónny.
Asynchrónny kód vzniká v JavaScript pomerne často: pri práci s časovačmi, pri viazaní obslužných rutín udalostí, pri načítaní obrázkov, pri práci s technológiou AJAX, ktorá umožňuje načítavať časti stránky zo servera, pri práci s NodeJS, ktorý predstavuje serverový JavaScript.