Не знаю, зачем вам нужны метки времени, чтобы получить getEvents, потому что в соответствии с вашим кодом вам нужны фильтры для getEvents, а не метки времени.Но все же, если вам нужно вызвать его после получения меток времени, вот решение.
Решение состоит в том, чтобы вызывать getEvents после завершения getTimeStamps, а не вызывать его onInit.
private minTimestamp: Date;
private maxTimestamp: Date;
ngOnInit(): void {
this.getTimestamps();
}
private getFilters(): EventFilters {
console.log(this.selectedStartDate);
console.log(this.selectedStartTime);
return { FromTimestamp: new Date(`${this.selectedStartDate} ${this.selectedStartTime}`).toISOString(), ToTimestamp: new Date(`${this.selectedEndDate} ${this.selectedEndTime}`).toISOString()};
}
private getTimestamps() {
this.eventsService.GetMinMaxTimestamp()
.subscribe(
result => {
this.srcChannels = result;
console.log('Src channels loaded');
const filters: EventFilters = this.getFilters();
this.dtOptions = this.eventsService.GetEvents(filters);
},
error => {
console.error(error);
this.toastr.error('Fetching source channels filter failed');
}
);
}
Таким образом, вы получаете свои фильтры и вызываете getEvents после того, как получаете отметки времени
Дайте мне знать, если это работает для вас.