我有 2 个 observables,都是 http 调用:
itemList$:Observable<any[]>;
newItem$:Observable<any[]>;
ngOnInit(){
itemList$ = this.http.getList(...some url...) // returns array of many items
}
createNewItem(){
newItem$ = this.http.createNewItem(...some url...) //returns array of one item
}
我想从其他地方调用“createNewItem()”函数,并且我希望将结果与当前的 itemList$ 可观察结果合并以形成一个项目数组。
在 html 中,我有一个异步管道正在监听 itemList$:
<div *ngFor="let item of itemList$ | async">{{item.name}}</div>
如何将 newItem$ 合并到 itemList$ 并让异步管道显示合并的结果?
最佳答案
您可以使用 Observable.merge
(我有 RxJS 版本 5.0.1)
Observable.merge(newItem$, itemList$)
.subscribe(response => {
// Perform your action
});
https://github.com/Reactive-Extensions/RxJS/blob/master/doc/api/core/operators/merge.md
关于angular - Rxjs 结合了 2 个 observables,Angular 2,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42030469/