首页 > 解决方案 > 将元素添加到 Observable多变的

问题描述

我正在尝试将元素添加到可观察的列表中,当我调用 .pipe(map... 这迭代两次并添加元素两次时,这效果不佳。

可观察列表:

profesionales$: Observable<Profesional[]>;

添加元素的功能:

 this.profesionales$ = this.profesionales$.pipe(map(profesionales => {
     return [...profesionales, profesional];
 }));

[...profesionales,profesional] 中的最后一个 'profesional' 是添加到列表中的元素。

谢谢。

标签: angularrxjsobservable

解决方案


您可以使用 rxjs.mergeMapof添加到 observable。

let profesional = { id: 1, name: "some example profesional" };

this.profesionales$ = this.http
    .get<Profesional[]>("some_url")
    .pipe(mergeMap(v => of(v.concat(profesional));

注意:我以http调用 Observable 为例,因为我不确定您的实现。这也很有用 -->学习 rxjs 文档


推荐阅读