Синхрони и асинхрони код у ЈаваСкрипту
Размотримо следећи код:
console.log('1');
console.log('2');
Очигледно је да ће се прво извршити први испис у конзолу, а затим - други. То јест, команде нашег кода се извршавају једна за другом - по редоследу који имају у коду. Овакав код се назива синхроним.
Размотримо сада следећи код:
setTimeout(function() {
console.log('1');
}, 3000);
console.log('2');
У овом случају команде се не извршавају у редоследу којим се налазе у коду: први испис у конзолу ће се извршити када дође његово време, али остатак кода не чека на тај тренутак, већ наставља да се извршава. Овакав код се назива асинхроним.
Асинхрони код се у ЈаваСкрипту појављује прилично често: приликом рада са тајмерима, приликом повезивања руковаоца догађајима, приликом учитавања слика, приликом рада са AJAX технологијом, која омогућава учитавање делова странице са сервера, приликом рада са NodeJS-ом, који представља серверски ЈаваСкрипт.