title: TypeError: Cannot read property 'Symbol(Symbol.iterator)' of undefined
body: <p>I get the following exception when a web service request fails.</p>
  
  <pre><code>TypeError: Cannot read property 'Symbol(Symbol.iterator)' of undefined
  </code></pre>
  
  <p>Specifically the HTTP GET returns 400 Bad request.</p>
  
  <p>Here you can find the involved component:</p>
  
  <pre><code>@Component({
      selector: 'events-list',
      directives: [EventRow],
      changeDetection: ChangeDetectionStrategy.OnPush,
      providers: [HTTP_PROVIDERS],
      template: `
  &lt;table&gt;
      &lt;tr *ngFor="let event of events | async" [event]="event" &gt;
      &lt;/tr&gt;
  &lt;/table&gt;
    `
  })
  export class EventsList implements OnInit {
      events: Observable&lt;Event[]&gt;;
  
      constructor(public http: Http) { }
  
      ngOnInit(): void {
          let obs;
          this.events = Observable
              .create((o) =&gt; {
                  obs = o;
                  obs.next();
              })
              .flatMap(() =&gt; {
                  return this.http.get('event/view');
              })
              .retryWhen(error =&gt; {
                  error.delay(3000);
              })
              .map((response: Response) =&gt; {
                  setTimeout(() =&gt; {
                      obs.next();
                  }, 10000);
                  return (&lt;any&gt;response.json()).map(item =&gt; {
                      return item;
                  });
              });
      }
  }
  </code></pre>
  
  <p>Any suggestion?</p>
  
  <p>Thanks in advance!</p>