The event loop runs your JavaScript on a single thread, so anything synchronous that takes a long time blocks it — and while blocked, Node serves no other request, timer, or callback. Blocking is almost always CPU-bound work or a *Sync API, never properly-awaited async I/O.
