本文主要是介绍nodejs系统包之events(事件),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
nodejs是事件驱动的,events包就是nodejs事件机制的实现包。
简单实例:
var events = require('events');
var emitter = new events.EventEmitter(); //创建事件监听器的一个对象
emitter.on('myevent',function(arg1,arg2){ //监听myeventconsole.log('myevent');console.log(arg1); // aaconsole.log(arg2); // bb
})
emitter.emit('myevent','aa','bb'); //触发myevent
通常我们会让我们自己的类继承event.EventEmitter。看例子:
var util = require('util');
var events = require('events');
function MyClass(){events.EventEmitter.call(this);
}
util.inherits(MyClass,events.EventEmitter);
var myClass = new MyClass();
myClass.on('myevent',function(args){console.log('myevent');console.log(args); //aa
})
myClass.emit('myevent','aa');
其他函数:
Events
- Class: events.EventEmitter
- emitter.addListener(event, listener)
- emitter.on(event, listener)
- emitter.once(event, listener)
- emitter.removeListener(event, listener)
- emitter.removeAllListeners([event])
- emitter.setMaxListeners(n)
- EventEmitter.defaultMaxListeners
- emitter.listeners(event)
- emitter.emit(event[, arg1][, arg2][, ...])
- Class Method: EventEmitter.listenerCount(emitter, event)
- Event: 'newListener'
- Event: 'removeListener'
这篇关于nodejs系统包之events(事件)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!