Node.js 事件发射器
If you worked with JavaScript in the browser, you know how much of the interaction of the user is handled through events: mouse clicks, keyboard button presses, reacting to mouse movements, and so on.
On the backend side, Node.js offers us the option to build a similar system using the events
module.
This module, in particular, offers the EventEmitter
class, which we'll use to handle our events.
You initialize that using
JS
This object exposes, among many others, the on
and emit
methods.
emit
is used to trigger an eventon
is used to add a callback function that's going to be executed when the event is triggered
For example, let's create a start
event, and as a matter of providing a sample, we react to that by just logging to the console:
JS
When we run
JS
the event handler function is triggered, and we get the console log.
You can pass arguments to the event handler by passing them as additional arguments to emit()
:
JS
Multiple arguments:
JS
The EventEmitter object also exposes several other methods to interact with events, like
once()
: add a one-time listenerremoveListener()
/off()
: remove an event listener from an eventremoveAllListeners()
: remove all listeners for an event
You can read more about these methods in the official documentation.