Почему мои запросы на интервальный опрос происходят только один раз? - PullRequest
0 голосов
/ 25 января 2019

Я пытаюсь создать простой сервис опроса, используя rxjs и angular 7, и сталкиваюсь с повторяющейся проблемой, что мои запросы фактически выполняются только один раз, но интервал успешно завершается без ошибок.

Мой сервисный компонент выглядит следующим образом:

    import { HttpClient, HttpHeaders, HttpRequest } from '@angular/common/http';
    import { interval, Subject } from 'rxjs/index';
    import { exhaustMap } from 'rxjs/internal/operators';

      constructor( private httpClient: HttpClient ) {
      }

     getPing() {
        const req = new HttpRequest('GET', this.getUrl, {responseType: 'blob', headers: new HttpHeaders(), reportProgress: true});
            interval(1000)
              .pipe(take(4))
              .pipe(exhaustMap(()=> this.httpClient.request(req)))
              .subscribe(data => console.log(data));
     }

У меня есть журналы консоли, показывающие, что интервал возникает и завершается через 4 интервала, но только первый запрос вызывается согласно вкладке сети.
Если я использую fetch вместо http-клиента или меняю интервал на цикл, служба ведет себя как положено, однако я бы предпочел не использовать эти подходы.Кто-нибудь знает, что мне не хватает?

Я использую angular 7.0.0 и rxjs 6.2.2 Журналы консоли Сетевая вкладка

...