სინქრონული და ასინქრონული კოდი JavaScript-ში

განვიხილოთ შემდეგი კოდი:

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

ცხადია, რომ ჯერ მოხდება პირველი გამოტანა კონსოლში, შემდეგ კი - მეორე. ანუ ჩვენი კოდის ბრძანებები შესრულებადია თანმიმდევრობით - იმ მიხედვით, თუ რა თანმიმდევრობითაა ისინი კოდში. ასეთ კოდს ეწოდება სინქრონული.

ახლა განვიხილოთ შემდეგი კოდი:

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

console.log('2');

ამ შემთხვევაში ბრძანებები არ სრულდება კოდში მათი მიყოლის თანმიმდევრობით: პირველი გამოტანა კონსოლში შესრულდება, როდესაც მოდის მისი დრო, მაგრამ დანარჩენი კოდი არ ელოდება ამ მომენტს, არამედ აგრძელებს შესრულებას. ასეთ კოდს ეწოდება ასინქრონული.

ასინქრონული კოდი JavaScript-ში საკმაოდ ხშირად ჩნდება: ტაიმერებთან მუშაობისას, მოვლენების დამმუშავებლების მიბმისას, სურათების ჩატვირთვისას, AJAX ტექნოლოგიასთან მუშაობისას, რაც საშუალებას იძლევა გვერდის ნაწილების სერვერიდან ჩატვირთვის, NodeJS-თან მუშაობისას, რომელიც წარმოადგენს სერვერულ JavaScript-ს.