У меня есть несколько запросов с параметром массива динамических параметров в наблюдаемом интервале.Итак, как я могу вернуть тему на основе параметра массива.Из-за BehaviorSubject
содержат все данные в нем
инициализировать тему
getSchedularData: BehaviorSubject < any > = new BehaviorSubject < any > (null);
constructor(private httpClient: HttpClient, ) {
SchedulerStore.select('jobSchedulerState')
.subscribe(response => {
this.schedularDataCollector = response;
});
}
компонент
this.schedulerService.startScheduler(this.channelList1)
.subscribe((value) => {
// console.log(value);
// tslint:disable-next-line:forin
for (const keys in value) {
this.schedularData[keys] = value[keys];
}
});
сервис
Observable.interval((!this.backChannelEnvironment.schedularInterval) ? 10000 : this.backChannelEnvironment.schedularInterval)
.pipe(
map(() => {
/**
* dispatch request for schedular for requesting http request for channel
*/
this.SchedulerStore.dispatch(new SchedulerAction.GetScheduler(Channels));
})
)
.subscribe(() => {
/**
* get data from schedular store and return it at schedular interval
*/
if (this.schedularDataCollector != null) {
if (JSON.stringify(this.schedularDataCollector['jobScheduler']) !==
JSON.stringify(this.getSchedularData.value)) {
this.getSchedularData.next(this.schedularDataCollector['jobScheduler']);
}
}
});
return this.getSchedularData.asObservable();