JavaScript работает на одном потоке, поэтому может выполнять только одно действие одновременно. Event loop позволяет ему обрабатывать асинхронную работу без блокировки: выполняет call stack, и когда стек пуст, извлекает callbacks из очередей.
Существуют две очереди с разными приоритетами:
