Kodi sinkron dhe asinkron në JavaScript

Le të shqyrtojmë kodin e mëposhtëm:

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

Është e qartë se së pari do të ekzekutohet shkrimi i parë në konsol, e më pas - i dyti. Kjo do të thotë se komandat e kodit tonë ekzekutohen njëri pas tjetrit - sipas rendit të tyre në kod. Ky lloj kodi quhet sinkron.

Tani le të shqyrtojmë kodin e mëposhtëm:

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

console.log('2');

Në këtë rast, komandat nuk ekzekutohen në rendin e shfaqjes në kod: shkrimi i parë në konsol do të ekzekutohet kur të vijë koha për të, por pjesa tjetër e kodit nuk e pret atë moment, por vazhdon të ekzekutohet. Ky lloj kodi quhet asinkron.

Kodi asinkron shfaqet mjaft shpesh në JavaScript: gjatë punës me kohëmatës, gjatë lidhjes së përpunuesve të ngjarjeve, gjatë ngarkimit të fotove, gjatë punës me teknologjinë AJAX, e cila lejon ngarkimin e pjesëve të faqes nga serveri, gjatë punës me NodeJS, i cili përfaqëson JavaScript në anën e serverit.