我有2個觀測,這兩個HTTP調用:Rxjs結合2個觀測,角2
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 $ observable結果來形成一個項目數組。
在HTML我有一個異步管這就是聽itemList中$:
<div *ngFor="let item of itemList$ | async">{{item.name}}</div>
我怎麼能合併的newitem $到itemList中$,並有異步管顯示合併的結果嗎?
如果我使用.subscribe操作符,那麼我不能使用異步管道(它自動處理退訂)。 – Nik
然後不要使用異步管道,而是在OnDestroy中手動取消訂閱,或者使用帶便利註釋的TakeUntilDestroy-plugin來自動取消訂閱所有內容。 – Phil