如何在node.js(express.js)中创build自定义事件侦听器?

我有一个巨大的function,嵌套的callback很多。 我想使它更清洁,更容易处理。 所以,我正在考虑使用自定义事件侦听器

就像一个函数完成的时候,在callback中,不是放置一大块代码,而是发出一个事件,然后监听器就会运行。

那么,如何在node.js中做到这一点? 我仍然在寻找一个很好的例子来指导我。

你可能想创build一个EventEmitter对象,并调用emit()

你可以设置这样的事件

 app.on('event:user_created', callback); 

然后你可以发射它们

 app.emit('event:user_created', data); 

express.js使用EventEmitter

我刚刚遇到了这个问题,我想打我2分钱,专门回应路易斯。

在Express中,如果您希望“应用”实例监听自定义事件,则可以执行以下操作:

 app.on('testEvent', function () { return console.log('responded to testEvent'); }); app.get('/test', function (req, res) { app.emit('testEvent'); return res.status(200).end(); }); 

然后,当这条路线被击中,你会看到控制台中的响应。 当然你可以按照你的意愿来实现。