一个区间内的Angular2 http请求

时间:2017-03-30 17:54:35

标签: angular observable

我试图每隔3秒发出一次请求并打印出响应,但直到现在都没有运气:(。我对Observables很新,所以我做错了什么?

checkConnection() {

const URL = "https://www.google.at/";

Observable.interval(3000)
  .flatMap(() => this.http.get(URL).map(res => res.json()).catch((error:any) => Observable.throw(error.json().error || 'Server error'))
  .subscribe(data => {
     console.log(data)
  })

  )
    }

1 个答案:

答案 0 :(得分:3)

您需要subscribe Observable来自flatMap的响应,如下所示:

Observable.interval(3000)
      .flatMap(() => this.http.get(URL)
      .map( res => res.json() )
      .catch( (error:any) => Observable.throw(error.json().error || 'Server error') ) )
      .subscribe(data => {
         console.log(data)
      })

https://www.google.at/需要启用跨域请求才能获取数据。

您可以使用的示例plunker:http://plnkr.co/edit/Nz0LZJDSPcUZlYOHU3p7?p=preview