rxjs简单做http get什么都不做

时间:2016-06-09 20:08:13

标签: javascript http typescript angular rxjs

我有代码:

export class Test {

constructor(private http: Http) {}

logResponse(): Observable<any> {
  return this.http.get('http://google.com')
    .do(data => console.log("All: " +  JSON.stringify(data)));
  }
}

但是,遗憾的是,没有任何东西可以打印到控制台。我刚刚开始使用Rxjs,对于这个蹩脚的问题感到抱歉。为什么不记录?我有所需的http和导入,没有例外,只是没有打印。我按下按钮就会触发它。

1 个答案:

答案 0 :(得分:4)

您必须先添加subscribe才能激活它。这种观察结果很冷(hot vs cold observables)。

所以在你的情况下:

logResponse(): Observable<any> {
  return this.http.get('http://google.com')
    .do(data => console.log("All: " +  JSON.stringify(data)))
    .subscribe(data => console.log("All from subscribe: " +  JSON.stringify(data)));
  }
}