2017-08-14 16 views
2

我剛開始探索node.js,下面是我在學習node.js中的事件處理時的情況。將參數傳遞給node.js中的EventEmitter.on方法

我有一個事件「環」和使用該方法

eventEmitter.on('loop',myLoopHandler); 

而myLoopHandler連接到它的功能「myLoopHandler」被定義如下:

var myLoopHandler = function(){ 
for(i=1;i<=30;i++) 
    console.log(i); 
} 

然後我發射事件「循環」:

eventEmitter.emit('loop'); 

如何將某些參數傳遞給eventEmitt中的myLoopHandler函數er.on方法?

我接受任何其他方式實現相同。

回答

3

只是做

emitter.emit(eventName[, ...args]) 

其中參數表是參數發出

這是一個例子

const myEmitter = new MyEmitter(); 
myEmitter.on('event', function(a, b) { 
    console.log(a, b, this); 
    // Prints: 
    // a b MyEmitter { 
    //  domain: null, 
    //  _events: { event: [Function] }, 
    //  _eventsCount: 1, 
    //  _maxListeners: undefined } 
}); 
myEmitter.emit('event', 'a', 'b'); 

NodeJS docs

+0

這個工作。但是我在這裏定義了'on'方法本身的函數。但有沒有辦法單獨定義函數,然後將其與傳遞參數一起使用。 –

+0

var myLoopHandler =函數(a,b)將得到值a和b,如果這是你所問的 – marvel308

+0

是的,它的工作。正是我在找什麼。 –