EventEmitter क्या है
EventEmitter Node की event-driven style power करता है: चीज़ें named events emit करती हैं और दूसरी सुनती हैं।
In this page:
Syntax
const EventEmitter = require('events');
class ClassName extends EventEmitter {
method() {
this.emit('eventName', value);
}
}
const obj = new ClassName();
obj.on('eventName', (value) => {
// handle event
});
EventEmitter
अपनी खुद की event-producing classes बनाने के लिए EventEmitter extend करें। Listeners जिस order में add हुए उसी order में synchronously चलते हैं। One-time events के लिए once इस्तेमाल करें और leaks से बचने के लिए listeners remove करें। events.once helper अगले event के लिए एक promise return करता है।
Note:
EventEmitter extend करना आपकी class को data या done जैसे events expose करने देता है।
उदाहरण: EventEmitter
const EventEmitter = require("events");
class Downloader extends EventEmitter {
start() {
this.emit("start");
setTimeout(() => this.emit("done", { bytes: 1024 }), 5);
}
}
const d = new Downloader();
d.on("start", () => console.log("started"));
d.on("done", (info) => console.log("done, bytes:", info.bytes));
d.start();
// Output:
// started
// done, bytes: 1024
⚠️ Run this in your own terminal or Node.js environment.
Related Topics
{# common_mistakes/chapter_summary/browser_support: on Hindi pages the
view already swaps in the hi_ translation fields (or blanks these
out if untranslated), so this renders correctly for both languages
without a lang_code check here. #}
आम गलतियां
- constructor में super() call करना भूल जाना
- हर request पर एक listener add करना
- listeners attach होने से पहले emit करना
चैप्टर सारांश
- Custom events के लिए EventEmitter extend करें
- Listeners synchronously चलते हैं
- once और off listeners manage करते हैं
- events.once एक promise return करता है
🔒
Chapter Quiz — Complete all 7 topics to unlock
0/7 topics done
Complete these topics first: