Szinkron és aszinkron kód a JavaScriptben
Vizsgáljuk meg a következő kódot:
console.log('1');
console.log('2');
Nyilvánvaló, hogy először az első konzol kiírás fut le, majd a második. Vagyis a kód parancsai egymás után – a kódban való előfordulás sorrendjében – hajtódnak végre. Az ilyen kódot szinkron kódnak nevezzük.
Most vizsgáljuk meg a következő kódot:
setTimeout(function() {
console.log('1');
}, 3000);
console.log('2');
Ebben az esetben a parancsok nem a kódban való előfordulás sorrendjében hajtódnak végre: az első konzol kiírás akkor fut le, amikor eljön az ideje, de a többi kód nem vár erre a pillanatra, hanem tovább fut. Az ilyen kódot aszinkron kódnak nevezzük.
Az aszinkron kód elég gyakran előfordul a JavaScriptben: időzítők használatakor, eseménykezelők hozzárendelésekor, képek betöltésekor, az AJAX technológiával való munka során, amely lehetővé teszi oldalrészek szerverről történő betöltését, NodeJS-szel való munka során, amely egy szerver oldali JavaScriptet jelent.