у меня есть определено поведениеSubject:
measurementSearchChange$ = new BehaviorSubject('');
this.measurementSearchChange$
.asObservable()
.pipe(debounceTime(500))
.pipe(
switchMap((keyword: string) =>
this.warningService.getInfluxdbQuery(
this.selectedMonitorOption,
'measurement',
{ search_name: keyword }
)
)
)
.subscribe((data: any) => {
this.measurementOptions = data;
this.isLoading = false;
});
когда какое-то действие сделает это:
this.measurementSearchChange$.next(keyword);
теперь это работает хорошо, но я хочу добавить switchMap и сжать их, чтобы я мог подписать две разные данные, например:
this.measurementSearchChange$
.asObservable()
.pipe(debounceTime(500))
.pipe(
switchMap((keyword: string) =>
this.warningService.getInfluxdbQuery(
this.selectedMonitorOption,
'measurement',
{ search_name: keyword }
)
// another
this.warningService.getInfluxdbQuery2(
this.selectedMonitorOption,
'measurement2',
{ search_name: keyword }
)
)
)
.subscribe((data1: any, data2: any) => {
this.measurementOptions = data;
this.isLoading = false;
});
так как это можно сделать? любая помощь ценится