JavaScript draait op één thread, dus kan maar één ding tegelijk doen. De event loop stelt het in staat om async-werk af te handelen zonder te blokkeren: het voert de call stack uit, en wanneer de stack leeg is, haalt het callbacks uit wachtrijen.
Er zijn twee wachtrijen met verschillende prioriteiten:
