node.js 中的 事件触发 EventEmitter 代码实例

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ForMyQianDuan/article/details/79301184
let EventEmitter = require('events').EventEmitter;
let e1 = new EventEmitter();

function cb(who){
    console.log('click:%s',who);
}

function cb2(){
    console.log('connect successful!!')
}
// e1.on('click',cb)
e1.addListener('click',cb);
e1.addListener('click',function () {
    console.log('暴击第二次!')
});
e1.addListener('click',function () {
    console.log('暴击第三次!')
});



e1.addListener('connection',cb2)
//删除某个事件中的某个实例
e1.removeListener('click',cb);

//删除某个事件
// e1.removeListener('click');

//触发事件
let listen1 = e1.emit('click','red button');
let listen2 = e1.emit('connection');

//统计被触发的事件数量
console.log('click nums:',e1.listeners('click').length);
console.log('click nums:',EventEmitter.listenerCount(e1,'click'));

console.log('connection nums:',e1.listeners('connection').length);
console.log('connection nums:',EventEmitter.listenerCount(e1,'connection'));

//统计事件是否被触发
console.log('是否被触发? "click event:" %s, "connection event:" %s',listen1,listen2);

参考:
http://www.runoob.com/nodejs/nodejs-event.html

猜你喜欢

转载自blog.csdn.net/ForMyQianDuan/article/details/79301184