Sinhroni in asinhroni koda v JavaScript
Razmislimo o naslednji kodi:
console.log('1');
console.log('2');
Očitno bo najprej deloval prvi izpis v konzolo, nato pa - drugi. To pomeni, da se ukazi naše kode izvajajo enega za drugim - v vrstnem redu zaporedja v kodi. Takšna koda se imenuje sinhrona.
Poglejmo zdaj naslednjo kodo:
setTimeout(function() {
console.log('1');
}, 3000);
console.log('2');
V tem primeru se ukazi ne izvajajo v vrstnem redu zaporedja v kodi: prvi izpis v konzolo se bo izvedel, ko pride njegov čas, vendar preostala koda ne čaka tega trenutka, ampak nadaljuje z izvajanjem. Takšna koda se imenuje asinhrona.
Asinhrona koda se v JavaScript pojavi dovolj pogosto: pri delu s časovnimi merilniki, pri vezavi obdelovalcev dogodkov, pri nalaganju slik, pri delu s tehnologijo AJAX, ki omogoča nalaganje delov strani s strežnika, pri delu z NodeJS, ki predstavlja straniški JavaScript.