Вы можете использовать combineLatest
или forkJoin
.Использование довольно похоже.Но вы должны отписаться от combineLatest
, в отличие от forkJoin
.
import { Subscription, combineLatest } from 'rxjs';
sub: Subscription;
myData: any;
ngOnInit() {
this.sub = combineLatest(
this.brandService.getJsonBrands,
this.productService.getJsonProducts,
this.categoryService.getJsonCategories
).subscribe(([brands, products, categories]) => {
this.myData = {brands, products, categories};
console.log('this.myData', this.myData);
});
}
ngOnDestroy() {
this.sub.unsubscribe();
}
forkJoin - Когда все наблюдаемые завершены, выведите последнее излученное значение из каждого.
CombinLatest - Когда какое-либо наблюдаемое излучает значение, испускает самое последнее значение из каждого.