Glazed over in three minutes.
Node.js is completely event based. Node’s flow control is determined by events or changes in state. It listens for events and calls a callback function once an event has occurred and has been tracked. That means the order of execution is determined by the occurrence of events.
Node.js is single-threaded (with background workers). Node.js creates an event loop that queues events and runs them asynchronously/non-blocked until completion. In other server-side languages like PHP and Apache, the server will create a new thread for each client request. Node will create a single thread event loop. For example, two functions cannot run at the same time.
That’s it (for now) !