это может быть легко сделано через switchMap
Observable.timer(0, 5000)
.switchMap((t) =>
this.http.get(...).pipe(
catchError(...)
)
)
.subscribe(...)
Disaclaimer: это было первоначально редактированием для другого ответа, но содержит слишком много изменений.
Это может быть легко сделано через switchMap
:
Observable.timer(0, 5000)
.switchMap(() => this.http.get(...).pipe(...)
.subscribe(...)
Или в [1 111] синтаксис RxJS 6 :
import { timer } from 'rxjs';
import { switchMap } from 'rxjs/operators';
timer(0, 5000) // repeats every 5 seconds
.pipe(switchMap(() => this.http.get(...).pipe(...))
.subscribe(...);
можно даже использовать interval
вместо timer
:
import { interval } from 'rxjs';
import { switchMap } from 'rxjs/operators';
interval(5000) // repeats every 5 seconds
.pipe(switchMap(() => this.http.get(...).pipe(...))
.subscribe(...);