2
それが一度だけ起こるように。私はblah機能でsubscribe
をdo
に置き換えようとしましたが、機能しません。 ここで問題は何ですか?Rxjs共有観察可能なサブスクリプション
それが一度だけ起こるように。私はblah機能でsubscribe
をdo
に置き換えようとしましたが、機能しません。 ここで問題は何ですか?Rxjs共有観察可能なサブスクリプション
これは正しい動作です。 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();