Observableの動作を理解しようとしています。これは、angular2 http.get()メソッドから返されたObservableの動作です。 this.shareがtrueで、this.firstHandleは私が期待するよう上記のコードは動作しませんその後、falseの場合は私の関連するコードは...ここ共有観測可能なエラー処理の問題
let observable = this.http.get(this.url)
if (this.share) {
observable = observable.share();
}
if (this.firstHandle) {
observable.subscribe(result => {
this.result = result._body;
},
err => {
this.error = err;
});
} else {
observable.subscribe(result => {
this.result = result._body;
});
}
observable.subscribe(result => {
this.result2 = result._body
},
err => {
this.error2 = err;
})
です。 2番目のサブスクライブでエラーは処理されません。他のすべてのケースは、私が期待するように動作します。ここには、動作を示すplunkrがあります。最後のケースでは、不正な呼び出しによるエラーは表示されません。この理由を理解しようとするだけです。
ありがとうございます。
しかし、それは奇妙なことです。 ** ** ** ** ** ** ** ** ** ** ** ** ** ** **最初の購読でエラーを処理しても、**私がそうしないと**できません。最初のサブスクライバが他のサブスクライバよりもエラーに興味がない場合に使用されたロジックだったようです。私はそれを理解していない。 – crowmagnumb
シェアはRxJSの目的が異なるかもしれないと思います。私はあなたが探している効果は、Connectable Observableを作成し、その上でPublish演算子を使用している可能性があると思います。再び私は新しいものAngular 2のすべての周りに私の頭を包み込むことを試みるのと同じボートにいる。 – Frank