Javascript Node.js向特定侦听器发出
是否可以发送到node.js中的特定侦听器 例如: emitter.jsJavascript Node.js向特定侦听器发出,javascript,node.js,function,events,emit,Javascript,Node.js,Function,Events,Emit,是否可以发送到node.js中的特定侦听器 例如: emitter.js var EventEmitter = require('events').EventEmitter; module.exports = function() { var controller = new EventEmitter(); return { set: function(opts) { setTimeout(function() {
var EventEmitter = require('events').EventEmitter;
module.exports = function() {
var controller = new EventEmitter();
return {
set: function(opts) {
setTimeout(function() {
controller.emit('ok', opts);
}, 10);
return controller;
},
get: function(opts) {
setTimeout(function() {
controller.emit('ok', opts);
}, 10);
return controller;
}
};
};
app.js
var express = require('express'),
app = express(),
server = require('http').createServer(app);
server.listen(8080);
var testEmitter = require('./emitter')();
testEmitter.set('set').on('ok', function(resp) {
console.log('set', resp);
});
testEmitter.get('get').on('ok', function(resp) {
console.log('get', resp);
});
/*result*/
//set set
//get set
//set get
//get get
我的想法是为所有侦听器发射,我只想为特定的侦听器发射
换言之,不是因为
// set set
// get set
// set get
// get get
我想要这个
// set set
// get get
在花了一些时间来理解这些事件是如何工作的之后,我不知道如何才能做到这一点
有什么想法吗?您使用的是标准侦听器设计模式,它的优点之一是不需要了解侦听器 对于你的问题,你需要以任何方式区别你的听众 您将打破/更改模式,或者维护许多侦听器列表