If tutorials available on this website are helpful for you, please whitelist this website in your ad blocker😭 or Donate to help us ❤️ pay for the web hosting to keep the website running.
NodeJS में events Module EventEmitter class provide कराता है जिसका use करके हम NodeJS में events के साथ work करते हैं।
npm install events
Package install हो गया है , इस package को कुछ इस तरह से use करेंगे।
const EventEmitter = require('events')
const emitter = new EventEmitter()
अब देखते हैं कि इस EventEmitter class में कौन कौन से important methods हैं जिनका use करके events को handle करते हैं।
इस method का use, emit की गयी event को handle करने के लिए किया जाता है। या कह सकते हैं कि event को register करने के लिए किया जाता है , जिसे बाद में register की गयी event को call कर सके। यह method दो arguments को को accept करता है -
callback function में ही हम अपना logic लिखते हैं , जब भी कोई event fire / emit होती है।
यह method emitter.on() method का ही alias है। मतलब दोनों में से किसी का भी use कर सकते हैं।
emitter.addListener('test', () => { console.log("test event fired"); }) Or emitter.on('test', () => { console.log("test event fired"); })
इस method का use, register की गयी event को emit करने के लिए किया जाता है। या कह सकते हैं , कि किसी event को call / fire करने के लिए किया जाता है। emit / register की गयी events उसी order में call होंगी जिस order में उन्हें register किया गया है।
तो जब भी हम कोई event emit / fire करते हैं , तो उस event को emitter.on() या emitter.addListener() method के through handle किया जाता है।
For example , test event को emit करने पर console में "test event fired" print हो जायगा।
// import event package
const EventEmitter = require("events")
const emitter = new EventEmitter()
// handle event
emitter.addListener('test', () => {
console.log("test event fired")
})
// fire event
emitter.emit("test")
C:\Users\HP\Desktop\workspace\nodejs>node app.js test event fired
आप चाहे तो event emit करते समय कोई argument भी pass कर सकते हैं , वो argument हमें emitter.on() या emitter.addListener() method के callback function में मिल जायगा। जैसा कि आप नीचे example में देख हैं।
const EventEmitter = require("events")
const emitter = new EventEmitter()
// here we will get an Obect.
emitter.addListener('test', (obj) => {
console.log(`Hello ! ${obj.name}`)
})
// fire event with an Object.
emitter.emit("test", {name : "learnhindituts"})
C:\Users\HP\Desktop\workspace\nodejs>node app.js Hello ! learnhindituts
यह method , current EventEmitter Object पर registered सभी events का एक Array return करता है।
conole.log(emitter.eventNames()) // Output : ['test']
getMaxListeners() method का use current EventEmitter Object पर maximum event की सख्यां बताता है। by default इसकी value 10 होती है लेकिन आप इसे emitter.setMaxListeners() method के through increase कर सकते हैं।
emitter.removeListener() method का use किसी event को remove करने के लिए किया जाता है। यह method emitter.off() का alias ही है , दोनों में से किसी भी method का use आप event को detach / remove करने के लिए कर सकते हैं।
emitter.removeListener('test') Or emitter.off('test')
जब भी किसी event listener को on() या addListener() method के through add करते हैं , तो वह listeners के queue में सबसे last में add होंगे। prependListener() method के through register करने पर वह queue में सबसे add होते हैं।
const EventEmitter = require("events")
const emitter = new EventEmitter()
// add listener.
emitter.addListener('test', (obj) => {
console.log(`Registered First`)
})
// add same listener.
emitter.addListener('test', () => {
console.log("Registered Last");
})
// fire event
emitter.emit("test")
C:\Users\HP\Desktop\workspace\nodejs>node app.js Registered First Registered Last
अब same listeners में से last में register किये गए listener को prependListener() method के through register करके run करने पर वह सबसे पहले run होगा।
const EventEmitter = require("events")
const emitter = new EventEmitter()
// add listener.
emitter.addListener('test', (obj) => {
console.log(`Registered First`)
})
// add same listener using prependListener().
emitter.prependListener('test', () => {
console.log("Registered Last");
})
// fire event
emitter.emit("test")
C:\Users\HP\Desktop\workspace\nodejs>node app.js Registered Last Registered First
I Hope, आपको NodeJS में events module के बारे में अच्छे से समझ आया होगा।