Sünkroonne ja asünkroonne kood JavaScriptis

Vaatleme järgmist koodi:

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

On ilmne, et kõigepealt käivitub esimene väljund konsooli ja seejärel teine. See tähendab, et meie koodi käsud täidetakse järjekorras - vastavalt nende järjestusele koodis. Sellist koodi nimetatakse sünkroonseks.

Vaatleme nüüd järgmist koodi:

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

console.log('2');

Sel juhul käsud ei täideta järjestuses nagu koodis: esimene väljund konsooli täidetakse siis, kui selle aeg käib, kuid ülejäänud kood ei oota seda hetke, vaid jätkab täitmist. Sellist koodi nimetatakse asünkroonseks.

Asünkroonne kood tekib JavaScriptis piisavalt sageli: timeritega töötamisel, sündmuste käitlejate seadistamisel, piltide laadimisel, AJAX-tehnoloogiaga töötamisel, mis võimaldab lehe osi serverist laadida, NodeJS-iga töötamisel, mis esindab serveripoolset JavaScripti.