feathers.js 过滤器服务通过ID更新



我正在尝试收听'事件'服务的更新。我不需要了解"事件"服务上发生的所有更新,只是具有特定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将支持房间/频道,以使事件派遣更多的性能。

相关内容

  • 没有找到相关文章

最新更新