什么时候在Node js中使用eventEmitter?

我在节点js学习新的概念是事件,但我无法find我应该使用这个,我想任何真正的情况下,我找不到任何文章或博客。

var events = require('events'); var eventEmitter = new events.EventEmitter(); //Create an event handler: var myEventHandler = function () { console.log('I hear a scream!'); } //Assign the event handler to an event: eventEmitter.on('scream', myEventHandler); eventEmitter.on('test', function(){ console.log("Testing event"); }); //Fire the 'scream' event: eventEmitter.emit('scream'); eventEmitter.emit('scream'); eventEmitter.emit('test'); 

我可以通过简单的调用函数myEvenHandler()来实现同样的事情?

是的,在你的情况下,你可以调用myEventHandler() ,但这是一个天真的例子。 想象一下,你想听一个发射器的不同事件。 例如,在Mongoose数据库库中:

 mongoose.connect(databaseUrl); mongoose.connection.on('connected', function () { //connected successfully }); mongoose.connection.on('error',function (err) { //connection error }); mongoose.connection.on('disconnected', function () { //disconnected }); 

你可以传递3个callbackconnect()方法,但通过使用EventEmitter你有一个更可读的代码(至less,对我来说),它允许你有几个监听器在整个应用程序。