0

我正在使用 Angular 服务和 RxJS 主题实现发布和订阅模式。该服务如果使用来自后端的更新进行火化,并且必须过滤这些更新,以便任何给定的组件只能获得他们注册的更新。如果我给出我的工作示例可能会更容易。

这是服务代码:

public getUpdates(updatesIWant: UPDATE[]): Observable<UPDATE[]> {
  return this.updateSubject.pipe(
    map(updates => updates.filter(update => updatesIWant.indexOf(update) != -1)));
}

这是组件代码:

this.updateService.getUpdates(this.updatesIWant).subscribe(updates => {
  this.processUpdates(updates);
}

这可行,但是当每秒接收数千个更新时,它变得低效。如何优化这种模式?有什么方法可以合并一个自定义的 rxjs 操作符来完成这项工作,或者可能是一个网络工作者?

4

0 回答 0