Sinchroninis ir asinchroninis kodas JavaScript

Panagrinėkime tokį kodą:

javascriptconsole.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ą:

javascriptsetTimeout(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.