Синхронен и асинхронен код во JavaScript
Да го разгледаме следниот код:
console.log('1');
console.log('2');
Очигледно е дека прво ќе се изврши првиот испис во конзола, а потоа - вториот. Тоа значи дека командите од нашиот код се извршуваат една по друга - по редоследот нивното следување во кодот. Ваков код се нарекува синхронен.
Сега да го разгледаме следниот код:
setTimeout(function() {
console.log('1');
}, 3000);
console.log('2');
Во овој случај, командите не се извршуваат во редоследот на следување во кодот: првиот испис во конзолата ќе се изврши кога ќе дојде неговото време, но остатокот од кодот не го чека тој момент, туку продолжува да се извршува. Ваков код се нарекува асинхронен.
Асинхронен код се појавува во JavaScript прилично често: при работа со тајмери, при врзување на обработувачи на настани, при вчитување на слики, при работа со технологијата AJAX, која овозможува вчитување на делови од страницата од серверот, при работа со NodeJS, кој претставува серверски JavaScript.