Most of Node’s objects — like HTTP requests, responses, and streams — implement the EventEmitter module so they can provide a way to emit and listen to events. The simplest form of the event-driven nature is the callback style of some of the popular Node.
Full article