У меня есть следующий код, который получает информацию от маршрута, инициализирует наблюдаемое и что-то делает с этим наблюдаемым:
export class ThemesEditComponent implements OnInit {
themeId: string;
theme$: Observable<Theme>;
theme: Theme;
ngOnInit() {
this.route.paramMap
.subscribe(
(param: any) => {
this.themeId = param.get('themeId');
this.theme$ = this.sectionStoreService.themes
.pipe(
map(themes => themes.find(item => item._id === this.themeId))
);
this.theme$
.subscribe(
theme => {
this.theme = theme;
});
this.setFormValue(this.theme);
});
}
Поскольку у меня есть два подписчика в этом коде, мне интересно, есть ли правильный способ написать это. Я пытался сделать это с оператором switchMap без успеха. Я думаю, у меня нет подходящего подхода.