2016-05-31 50 views
0

我有以下文件,從文件提供的https://angular.io/guide/quickstart,擴大,產生一個請求。問題是,在我的瀏覽器中的網絡標籤下,我沒有看到網絡電話正在向谷歌進行。爲什麼這樣?角2 HTTP不會導致任何活動

import { Component } from '@angular/core'; 
import { HTTP_PROVIDERS, Http } from '@angular/http'; 
@Component({ 
    selector: 'my-app', 
    template: '<h1>My First Angular 2 App</h1>', 
    providers: [HTTP_PROVIDERS], 
}) 
export class AppComponent { 
    constructor(private http:Http) { 
     http.get('https://www.google.com'); 
     alert('hi'); 
    } 
} 
+0

http調用angular2期望可觀察...所以如果你這樣做'http.get('https://www.google.com').subscribe(data => {console.log('response data :',JSON.stringify(data));},error => console.log(error))''你會看到活動......我只是在我的一個測試中試過 – FernOfTheAndes

回答

1

這是因爲http.get()方法返回的Observable和直到該數據被需要(一種惰性加載的)不作要求。由於任務是異步執行的,你可以訂閱這個:

http.get('https://www.google.com').subscribe(data => console.log(data)); 

或轉換爲承諾與您可能熟悉:

http.get('https://www.google.com').toPromise().then(data => console.log(data)); 

現在你可以看到,在這兩種情況下,從上述該請求已提出。

相關問題