2016-06-28 8 views
0

以下のコードはhttp://www.tutorialspoint.com/nodejs/nodejs_event_loop.htmです。そのコードでは、connectHandler()関数の定義でdata_receivedイベントが発生します。 connectHandler()関数は呼び出されませんが、data_receivedイベントが発生します。そんなことがあるものか?イベントハンドラが明示的に起動されていなくても、イベントエミッタが起動される理由

// Import events module 
var events = require('events'); 
// Create an eventEmitter object 
var eventEmitter = new events.EventEmitter(); 

// Create an event handler as follows 
var connectHandler = function connected() { 
    console.log('connection succesful.'); 

    // Fire the data_received event 
    eventEmitter.emit('data_received'); 
} 

// Bind the connection event with the handler 
eventEmitter.on('connection', connectHandler); 

// Bind the data_received event with the anonymous function 
eventEmitter.on('data_received', function(){ 
    console.log('data received succesfully.'); 
}); 

// Fire the connection event 
eventEmitter.emit('connection'); 

console.log("Program Ended."); 

出力:ここ

答えて

1
// Fire the connection event 
eventEmitter.emit('connection'); 

あなたは「接続」イベントは、このようにさらにイベントを呼び出すconnectHandler関数にバインドされている解雇されていることを確認する必要があります。

+1

ああ私の目立たない目! – metis

関連する問題