title: RXJS - IntervalObservable with .startWith
body: <p>I have implemented http pooling in Angular app with IntervalObservable and startWith to start instantly. I wanted to know does IntervalObservable wait until initial/previous call finished streaming data? 
  Is there a better way to implement data poolingin Angular app.</p>
  
  <p><strong>Ex from service.ts</strong></p>
  
  <pre><code>getRecordsList() {
    return IntervalObservable
      .create(15000)
      .startWith(0)
      .flatMap((r) =&gt; this.http
      .post(`http://services.com/restful/recordService/getRecordsList`, body, {
        headers: new HttpHeaders().set('Content-Type', 'application/json')
      }))
      .shareReplay()
      .catch(this.handleError);
  }
  </code></pre>
  
  <p><strong>Ex from component.ts</strong></p>
  
  <pre><code>ngOnInit() {
   this.service.getRecordsList()
    .subscribe(
      (recordList) =&gt;  {
        this.recordResponse = recordList;          
      },
      error =&gt; { console.log },
      () =&gt; console.log("HTTP Observable getRecordsList() completed...")
  );
  </code></pre>
  
  <p>}</p>
  
  <p>I have used Angular httClient and I hope this doesn't matter anyhow. </p>