我想以适当的方式应用嵌套的可观察变量
我必须观察到,我将使用外部可观察到的响应并将其用于儿童可观察到的
this.selectedSchedulings$.pipe(switchMap(actualTrips => {
return this.selectedDataByBranch$
})).subscribe(data => {
this.trainsDatasets = this.getDatasets(data);
return actualTrips
});
SelectedDataByBranch
是ngrx选择器
selectedDataByBranch$ = this.store.pipe(select(selectBranchDirections, 'b1'));
实际上我收到错误Cannot find name actualtrips
。
如何将参数传递给子订阅?
一种解决方案是将actualTrips
保存在全局变量中,但我会做得更干净。
答案 0 :(得分:1)
您可以在switchMap的返回中使用forkJoin
,如下所示:
this.selectedSchedulings$.pipe(
switchMap(actualTrips =>
return forkJoin([
this.selectedDataByBranch$,
of(actualTrips)
]);
})
).subscribe(([selectedDataByBranch, actualTrips]) => {
this.trainsDatasets = this.getDatasets(selectedDataByBranch);
return actualTrips;
});
如果selectedDataByBranch $是可连续观察的,则可以将forkJoin
更改为combineLatest
。