Сінхронны і асінхронны код у JavaScript
Разгледзім наступны код:
console.log('1');
console.log('2');
Відавочна, што спачатку спрацуе першы вывад у кансоль, а потым - другі. Гэта значыць каманды нашага кода выконваюцца па чарзе - у парадку іх следвання ў кодзе. Такі код называецца сінхронным.
Разгледзім цяпер наступны код:
setTimeout(function() {
console.log('1');
}, 3000);
console.log('2');
У дадзеным выпадку каманды не выконваюцца ў парадку следвання ў кодзе: першы вывад у кансоль выканаецца, калі прыходзіць яго час, але астатні код не чакае гэтага моманту, а працягвае выконвацца. Такі код называецца асінхронным.
Асінхронны код узнікае ў JavaScript дастаткова часта: пры працы з таймерамі, пры прывязцы апрацоўшчыкаў падзей, пры загрузцы выяў, пры працы з тэхналогіяй AJAX, якая дазваляе загружаць часткі старонкі з сервера, пры працы з NodeJS, які ўяўляе сабой серверны JavaScript.