Angular 2 HTTP调用,间隔通过Rxjs interval运算符

时间:2017-02-06 16:30:27

标签: javascript angular typescript rxjs

当我尝试像这样进行http调用时:

return this.http.get(this.url).map(res => res.json());

一切都是预期我有正确的响应没有错误,但是当我尝试使用间隔进行http调用时(通过RxJS运算符间隔)我有一个错误。

我的代码看起来:

   return Observable.interval(1000).map(() => {
    return this.http.get(this.url).map(res => res.json());
  });

错误:

  

ZoneAwareError {__zone_symbol__error:错误:(SystemJS)XHR错误(404 Not Found)loading http://localhost:3000/node_modules/rxjs       错误:...,__ zone_symbol__stack:"(SystemJS)XHR错误(404未找到)加载http:... alhost:3000 / app / home / components / home.component.js",originalErr:ZoneAwareError}

1 个答案:

答案 0 :(得分:2)

您必须使用.flatMap()IntervalObservable从其他Observable获取数据:

return IntervalObservable
    .create(1000)
    .flatMap(() => {
        return this.http.get(this.url).map(res => res.json());
     });