2016-06-09 32 views
0

我有代碼:rxjs做簡單的HTTP GET無助

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和導入,沒有任何例外只是沒有打印。我按下按鈕觸發它。

+0

看起來像你需要一個承諾 – Derek

回答

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))); 
    } 
}