我正在尝试收听'事件'服务的更新。我不需要了解"事件"服务上发生的所有更新,只是具有特定ID的更新。
socket.on('event updated', (rEvent) => {
console.log('Got an updated Event!', rEvent);
});
上面的代码将侦听"事件"服务上的任何更新,并且它有效...我得到了一切。
但是,我想听听"事件/34"的更新... 34是事件ID
我尝试了类似:
socket.on('event/34 updated', (rEvent) => {
console.log('Got an updated Event!', rEvent);
});
但这不起作用。
根据ID聆听更新到服务的正确方法是什么?
确定要将哪些事件发送到哪个事件过滤器的目的。因此,您将以某种方式必须确定属于connection
的用户是否正在收听事件ID:
app.service('events').filter('updated', function(data, connection, hook) {
if(checkIfUserListensToEventId(connection.user, event)) {
return data;
}
return false;
});
通常,服务器端过滤器应仅确定用户是否允许查看数据。事件相对便宜,如果应该使用或忽略数据,则在客户端上确定要容易得多(而不是以某种方式在服务器上跟踪它)。
旁注:羽毛V3将支持房间/频道,以使事件派遣更多的性能。