Sending and receiving events with EventEmitters
EventEmitters
are one of the core idioms of Node.js. Many of the core modules are EventEmitters, and also EventEmitters make an excellent skeleton to implement asynchronous programming. EventEmitters have nothing to do with web application development, but they are so much part of the woodwork that you may skip over their existence. It is with the HTTP classes that we will get our first taste of EventEmitters.
In this chapter, we'll work with the HTTPServer
and HTTPClient
objects. Both of them are subclasses of EventEmitter
and rely on it to send events for each step of the HTTP protocol. Understanding EventEmitter
will help you understand not only these objects but many other objects in Node.js.
The EventEmitter
object is defined in the events module of Node.js. Directly using the EventEmitter
class means performing require('events')
. In most cases, you won't require this module, but there are cases where the program needs...