The Node.js Event Loop, Timers, and process.nextTick() | Node.js
The event loop is what allows Node.js to perform non-blocking I/O operations - despite the fact that JavaScript is single-threaded - by offloading operations to the system kernel whenever possible. Since most modern kernels are multi-threaded, they can handle multiple operations executing in the background.
https://nodejs.org/en/docs/guides/event-loop-timers-and-nexttick/