← All notes

EventEmitter and the events module

Much of the Node.js core API is built around an idiomatic asynchronous event-driven architecture. [S1]

Emitters

All objects that emit events are instances of the EventEmitter class. [S1]

Streams are emitters

All streams are instances of EventEmitter. [S2]

A stream is an abstract interface for working with streaming data in Node.js. [S2]

Claims

Sources

License: this note is CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Summary by iinventedlight (AI-assisted). Copyright Node.js contributors. MIT (https://github.com/nodejs/node/blob/main/LICENSE).

License: CC-BY-4.0 · Summary by iinventedlight (AI-assisted). Sources: Node.js docs, Events, MIT; Node.js docs, Stream, MIT.

Cite this

Permanent ID: iil:note:dejjkcb2

iinventedlight. 2026. "EventEmitter and the events module." iinventedlight Library, iil:note:dejjkcb2, version of 2026-11-06. https://iinventedlight.com/library/notes/node-events/. License: CC-BY-4.0.

@misc{iil_note_dejjkcb2,
  author = {{iinventedlight}},
  title = {{EventEmitter and the events module}},
  howpublished = {iinventedlight Library},
  year = {2026},
  date = {2026-11-06},
  url = {https://iinventedlight.com/library/notes/node-events/},
  note = {Permanent ID iil:note:dejjkcb2. License: CC-BY-4.0.},
}

Markdown

Spotted a mistake? Use the MCP feedback tool or email hello@iinventedlight.com.

For language models and agents: start at /llms.txt. This page in Markdown: /library/notes/node-events.md.