Node.js发送到一个特定的监听器
Node.js emit to a specific listener
可以在node.js中发送到特定的侦听器?
一个例子:
emitter.js
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
在花了一些时间了解事件的工作原理后,我不知道如何才能做到这一点。
任何想法?
您正在使用标准的侦听器设计模式,其优点之一是不需要(必须)了解侦听器…
对于你的问题,你需要在任何方面区分你的听众。
您将打破/更改模式,或维护许多侦听器列表。
相关文章:
- 监听器必须是一个函数
- JQuery:所有按钮只使用一个监听器有什么缺点吗
- javaScript-我们如何将一个事件监听器设置为另一个事件监听器的从属
- 是否可以在单独的谷歌地图瓦片中添加一个监听器
- 如何创建一个jQuery监听器来遍历一些标记
- DOM树中所有子元素的一个监听器
- 我想为一个元素添加一个事件监听器,当相应的元素滚动到视图中时,该监听器就会被激发
- 为什么生成器的下一个函数不能是事件监听器的回调函数?
- 如何使用一个函数来设置一个监听器回调
- 如何删除Hammer.js 2.0中的事件监听器,并将识别器绑定到一个新函数
- dblclick的事件监听器导致鼠标移动的事件不起作用,并显示一个带有一条线的圆圈
- 在React组件卸载时移除一个事件监听器
- 你能重写“onscroll”吗?使用另一个监听器
- Node.js发送到一个特定的监听器
- 为每行绑定一个监听器,jquery
- Node.js EventEmitter:如何绑定一个类上下文到事件监听器,然后移除这个监听器
- 用CanJS为文档上触发的事件设置一个全局监听器/控制器
- 我如何得到一个事件监听器的工作上的元素是添加到我的html通过javascript
- 一个页面上有多个jQuery事件监听器
- 返回一个从NodeJS监听器派生的值