如何在 Angular RxJs 中处理来自多个数据流的相同值

how to handle same value from multiple datastreams in Angular RxJs

我有两个不同的数据流,它们为同一对象提供修改后的 属性 值。我想写一个订阅,这样每当两个 DataStream 中的任何一个通知 属性 修改时,我都可以重用相同的代码。

const selectedItems$ = this.grid.onSelect.pipe(.... this gives me the selected object);
const updatedItem$ = this.fetchData.onUpdate.pipe(.....this gives me the updated object);

displayItem$(selection$, updatedItem$) {
   (..here i want to get notified whenever there is change in).subscribe(item => {
       this.displayLatest(item)
   })
}

selectedItem$ 和 updatedItem$ 可以 return 相同的对象在修改已选择的项目时具有不同的 属性 值。

这是我第一次研究 RxJs,对这部分有点困惑。我在 RxJS 运算符列表(如 concat、merge、combine)中进行了搜索,但大多数工作示例都针对不同的数据结构。还有其他更好的方法吗?

您可以使用 merge 创建一个从两个源流发出值的可观察对象:

import { merge } from 'rxjs';

...

merge(selection$, updatedItem$)
  .subscribe(item => {
    this.displayLatest(item)
  })