[英]How do I get event name of Observable created with .fromEvent
我试图限制来自公共消息总线的事件应发送到服务器。 允许的事件在outgoingEvents
数组上。 问题是要正确地向他们发送服务器,我需要事件名称。
var Events = new EventEmitter();
var outgoingEvents = [
'messageSubmit'
];
var outgoingMessages = Observable.fromArray(outgoingEvents)
.flatMap(function(eventName) {
return Observable.fromEvent(Events, eventName);
}).subscribe(function() {
// need event name here to properly encode message:
// var eventName = ... should be 'messageSubmit'
// var args = [].slice.call(arguments, 1);
// var encoded = JSON.stringify({ name: eventName, args: args });
// socket.send(encoded);
});
Events.emit('messageSubmit', { message: 'Submitted!' }, {flags: 'ABC'});
可以重塑.fromEvent中第三个参数附带的函数中被赋予可服务对象的.fromEvent
return Observable.fromEvent(Events, eventName, function() {
var args = [].slice.call(arguments[0]);
return { name: eventName, args: args };
});
因此它将是.subscribe
参数:
var eventName = event.name;
var args = event.args;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.