Το JavaScript εκτελείται σε ένα μόνο thread, επομένως μπορεί να κάνει μόνο ένα πράγμα κάθε φορά. Το event loop είναι αυτό που του επιτρέπει να χειρίζεται ασύγχρονο έργο χωρίς blocking: εκτελεί το call stack, και όταν το stack είναι κενό, τραβά callbacks από τις ουρές.
Υπάρχουν δύο ουρές με διαφορετικές προτεραιότητες:
