У меня есть следующая функция, которая должна запускать HTTP-вызов Get (getPollResults) каждые 3 секунды. Проблема, которую я вижу, заключается в том, что запускается только начальное событие.
pollResults() {
return timer(0, 3000)
.pipe(
switchMap(() => this.pollService.setPollResults()),
tap(results=> {
console.log(`updated results: `${results}`);
})
);
}
this.pollResults().subscribe()
Если я удаляю switchMap, он работает нормально (я вижу новый журнал консоли каждые 3 секунды). Поэтому я считаю, что это связано с тем, как работает switchMap. Почему это будет препятствовать новым событиям от таймера?