Synchrone en asynchrone code in JavaScript
Laten we de volgende code bekijken:
console.log('1');
console.log('2');
Het is duidelijk dat eerst de eerste uitvoer naar de console zal werken, en daarna - de tweede. Dat wil zeggen, de opdrachten van onze code worden een voor een uitgevoerd - in de volgorde van hun opeenvolging in de code. Zo'n code heet synchroon.
Laten we nu de volgende code bekijken:
setTimeout(function() {
console.log('1');
}, 3000);
console.log('2');
In dit geval worden de opdrachten niet uitgevoerd in de volgorde van de code: de eerste uitvoer naar de console wordt uitgevoerd wanneer de tijd ervan komt, maar de rest van de code wacht niet op dat moment, maar gaat verder met uitvoeren. Zo'n code heet asynchroon.
Asynchrone code komt in JavaScript vrij vaak voor: bij het werken met timers, bij het binden van gebeurtenisafhandelaars, bij het laden van afbeeldingen, bij het werken met AJAX-technologie, die het mogelijk maakt om delen van een pagina van de server te laden, bij het werken met NodeJS, dat server-side JavaScript vertegenwoordigt.