如何从另一个服务触发一个服务的 "updated" 事件

How to trigger "updated" event of a service from another service

我在 Feathers 中有两个服务。 为了举例,我们称它们为:

  1. 待办事项列表
  2. 待办事项

TodoItems 与 TodoLists 有 N:1 关联,我 在 TodoLists 服务的查找挂钩中包含 TodoItems 模型。

现在 - 在我的前端,我有一个侦听 TodoLists 上的 'update' 事件的侦听器。

当任何 TodoItem 更新时,为 TodoLists 发出 'update' 事件的正确方法是什么?

尝试查看所有 TodoItems 更新并按您的 TodoList id 进行过滤。

const currentTodoList = 1;
app.service('TodoItems').on('updated', (item) => {
  if (item.todolist === currentTodoList){
    // update ui
  }
});

如果您还想优化后端发送的流量以仅发送所需的数据,您可以使用一些订阅模式(TodoListSubscription 在创建时加入 feathers 频道​​,在删除时离开)。