У меня есть две трубы, одна используется в качестве данных для графика, другая - как индикатор загрузки данных
graphData$: Observable<GraphData>;
dataLoaded$: Observable<boolean>;
Мне нужна следующая труба: graphData$
выбросы необходимо прекратить, когдаdataLoaded$
излучает false
. Когда dataLoaded$
переключается с false
на true
, я хочу, чтобы последний остановленный выброс graphData$
был выпущен через канал. Когда graphData$
излучает true
Я хочу просто обойти трубу.
Пока я решаю это следующим образом:
combineLatest([
graphData$,
dataLoaded$
]).pipe(
filter(([_, dataLoaded]) => dataLoaded),
map(([graphData]) => graphData)
).subscribe(graphData => blabla)
Но есть произвольное числопотоков данных, которые должны быть ограничены тем, загружены ли данные, поэтому я бы предпочел канал, который позволяет мне просто:
graphData$.pipe(
dataLoaded()
).subscribe(graphData => blabla)
Любые изящные решения о том, как это сделать?