Sending and receiving events with EventEmitters
EventEmitters are one of the core idioms of Node, because many of the core modules are EventEmitters, and also because EventEmitters make an excellent skeleton to implement asynchronous programming on. EventEmitters have nothing to do with web application development, but they are so much a 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 be working 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.
The EventEmitter
object is defined in the events module of Node. Directly using the EventEmitter
class means performing require('events')
, but this is not required, except for cases where the program needs to be a subclass of EventEmitter...