2017-11-16 15 views

答えて

2

これは正しい動作です。 2つのサブスクリプションを作成していて、http.getは「冷たい」Observableを作成するので、2つのHTTP呼び出しを行います。

これを避ける最も簡単な方法は、Observableソースをshare()演算子で共有することです。

let obs = this._http.get<number>('/foo').share(); 

またpublish()オペレータとConnectableObservableを作成することができますし、手動で共有ソースに接続します。

let obs = this._http.get<number>('/foo').publish(); 

obs.subscribe(x=> { 
    console.log("foo : " + x) 
}); 

this.blah(obs); 

obs.connect(); 
関連する問題