Ash*_*Jha 6 javascript events node.js eventemitter
我正在学习 Node js 中的新概念,即事件,但我找不到应该在哪里使用它,我想要任何真实的场景,但我找不到任何关于此的文章或博客。
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');
Run Code Online (Sandbox Code Playgroud)
我可以通过简单的调用函数来实现同样的事情,比如myEvenHandler()
?
是的,在你的情况下你可以直接打电话myEventHandler()
,但这是一个天真的例子。想象一下您想要监听来自发射器的不同事件。例如,在 Mongoose 数据库中:
mongoose.connect(databaseUrl);
mongoose.connection.on('connected', function () {
//connected successfully
});
mongoose.connection.on('error',function (err) {
//connection error
});
mongoose.connection.on('disconnected', function () {
//disconnected
});
Run Code Online (Sandbox Code Playgroud)
您可以将 3 个回调传递给connect()
方法,但通过使用EventEmitter
您可以拥有更具可读性的代码(至少对我来说),并且它允许您在整个应用程序中拥有多个侦听器。
归档时间: |
|
查看次数: |
3647 次 |
最近记录: |