2017-10-30 6 views
1

私はイベントであるノードjsの新しいコンセプトを学んでいますが、これを使うべき場所を見つけることができませんでした。Node jsでeventEmitterを使用するタイミングは?

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()のような簡単なコール機能で同じことを達成できますか?

答えて

1

はい、あなたの場合はmyEventHandler()に電話することができますが、それは素朴な例です。エミッタからのさまざまなイベントを聴きたいとします。例えば、マングースデータベースライブラリで:

mongoose.connect(databaseUrl); 

mongoose.connection.on('connected', function() { 
    //connected successfully 
}); 

mongoose.connection.on('error',function (err) { 
    //connection error 
}); 

mongoose.connection.on('disconnected', function() { 
    //disconnected 
}); 

あなたはconnect()メソッドに3つのコールバックを渡すことができますがEventEmitterを使用することにより、あなたは(私のために、少なくとも、)より読みやすいコードを持っており、それはあなたの全体のいくつかのリスナーを持っていることができます応用。

関連する問題