У меня есть два observables
, каждый из которых имеет значение Dto
:
this.about.aboutHeInfo().subscribe((heInfo: HemDto) => {
this.uiUtils.openDialogResizable({
hem: heInfo
}, true, AboutComponent).subscribe();
});
this.about.aboutPeInfo().subscribe((peInfo: PeoDto) => {
this.uiUtils.openDialogResizable({
peo: peInfo
}, true, AboutComponent).subscribe();
});
Проблема в том, что при создании обоих наблюдаемых открывается два экрана, потому что каждая функция создает apenDialog, как я могу объединить два наблюдаемых и открыть одно диалоговое окно?
Это слияние, которое я тестирую:
const ob1 = this.about.aboutInfo().subscribe((heInfo: HemDto) => {
this.heInfo= back;
});
const ob2 = this.about.aboutQoInfo().subscribe((peInfo: PeoDto) => {
this.peInfo= people;
});
forkJoin([ob1, ob2]).subscribe(() => {
this.uiUtils.openDialogResizable({
back: this.heInfo,
people: this.peInfo
}, true, AboutComponent).subscribe();
});
zip
, но в этом случае я не могу воспроизвести его для Dto, и он не работает - person sinfryd   schedule 17.02.2021merge
reactivex.io/documentation/operators/merge.html - person Louay Alosh   schedule 17.02.2021merge
,combineLatest
иforkJoin
, но не могу воспроизвести его ни с одним из них, чтобы получить информацию от обоихDto
. Я не знаю, нужно ли вам использовать другие, поскольку этоAngular 11
. Вы знаете, как это сделать в таком случае? - person sinfryd   schedule 17.02.2021forkJoin
- person sinfryd   schedule 17.02.2021