JavaScript działa na pojedynczym wątku, więc może robić tylko jedną rzecz naraz. Event loop to to, co pozwala mu obsługiwać pracę asynchroniczną bez blokowania: uruchamia stos wywołań, a gdy stos jest pusty, pobiera callbacks z kolejek.
Istnieją dwie kolejki o różnych priorytetach:
