Sünkroonne ja asünkroonne kood JavaScriptis
Vaatleme järgmist koodi:
console.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:
setTimeout(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.