Sinchroninis ir asinchroninis kodas JavaScript
Panagrinėkime tokį kodą:
console.log('1');
console.log('2');
Akivaizdu, kad pirmiausia suveiks pirmoji komanda spausdinanti į konsolę, o paskui - antroji. Tai yra, mūsų kodo komandos vykdomos paeiliui - jų sekos tvarka kode. Toks kodas vadinamas sinchroniniu.
Dabar panagrinėkime tokį kodą:
setTimeout(function() {
console.log('1');
}, 3000);
console.log('2');
Šiuo atveju komandos nevykdomos sekos tvarka kode: pirmasis spausdinimas į konsolę įvyks, kai ateina jo laikas, bet likęs kodas to momento nelaukią, o tęsia vykdymąsi. Toks kodas vadinamas asinchroniniu.
Asinchroninis kodas JavaScript atsiranda pakankamai dažnai: dirbant su laikmačiais, pririšant įvykių apdorotojus, kraunant paveikslėlius, dirbant su AJAX technologija, leidžiančia krauti dalis puslapio iš serverio, dirbant su NodeJS, kuris yra serverinė JavaScript aplinka.