Каков наилучший способ в angular с rxjs уже отображать результат первого наблюдаемого и объединять данные, когда другие наблюдаемые завершены?
Пример:
@Component({
selector: 'app-component',
template: `
<div *ngFor="let group of groups$ | async">
<div *ngFor="let thisItem of group.theseItems">
...
</div>
<div *ngFor="let thatItem of group.thoseItems">
...
</div>
</div>
`
})
export class AppComponent implements OnInit {
...
ngOnInit() {
this.groups$ = this.http.get<IThisItem[]>('api/theseItems').pipe(
map(theseItems => {
return theseItems.groupBy('groupCode');
})
);
// combine these results? This operation can take 5 seconds
this.groups$$ = this.http.get<IThatItem[]>('api/thoseItems').pipe(
map(thoseItems => {
return thoseItems.groupBy('groupCode');
})
);
}
}
Я понимаю, что это можно сделать, подписавшись на оба и объединив результаты. Но можно ли использовать для этого конвейерные операторы, а также канал async
?
thoseItems
испускается доtheseItems
испускается - person devqon   schedule 02.12.2019