Sinhronais un asinhronais kods JavaScript

Apskatīsim šādu kodu:

javascriptconsole.log('1');
console.log('2');

Acīmredzami, ka vispirms izpildīsies pirmā izvade konsole, un pēc tam - otrā. Tas nozīmē, ka mūsu koda komandas tiek izpildītas pēc kārtas - to secībā, kādā tās atrodas kodā. Šādu kodu sauc par sinhronu.

Apskatīsim tagad šādu kodu:

javascriptsetTimeout(function() {
  console.log('1');
}, 3000);

console.log('2');

Šajā gadījumā komandas netiek izpildītas to secībā, kādā tās atrodas kodā: pirmā izvade konsole izpildīsies, kad iestāsies tās laiks, bet pārējais kod to negaida, bet turpina izpildīties. Šādu kodu sauc par asinhronu.

Asinhrons kods JavaScript rodas pietiekami bieži: strādājot ar taimeriem, pievienojot notikumu apstrādes funkcijas, ielādējot attēlus, strādājot ar AJAX tehnoloģiju, kas ļauj ielādēt lapas daļas no servera, strādājot ar NodeJS, kas ir servera puse JavaScript.