あなたはあなたの要求のタイムアウトを追加することができ、その後、unsubscribe
で
for (let gadget of gadgets) {
this.userService.getGadgetsData(gadget.Id, gadget.Name).subscribe(gadgetsData => {
});
}
マイサービスコード。
注:サンプルコードのためにRxJsとObservableを使用していると思います。あなたはクリックイベントをお持ちの場合は
は、すべてのあなたの観測(inside your loop
)への参照を保存して、リストに入れ、その後、あなたの関数の内部で(例えばonClick()
)すべての観測から、そのリストとunsubscribe
を反復処理することができます。 githubのドキュメントから
var myObservable = this.userService.getGadgetsData(gadget.Id, gadget.Name)
.subscribe(gadgetsData => {});
//later on your code, maybe on your click event
myObservable.unsubscribe();
:unsubscribeとsubscribe
徹底的になろうとして:あなたはメイン(親)からの退会時になるよう
は
また、すべての観測可能な、他の観測に観測を追加することができます内に含まれる観察可能なものは、購読を中止します。 Observableオブジェクトに含まれているadd
とremove
というメソッドを使用して、これを実現できます。
これを行うにはより良い方法があるかもしれませんが、それは私の頭の上にありません。
「アボート」とはどういう意味ですか? this._http.getはすぐにHTTP要求を作成しますが、後で応答を非同期的に返します。実際のHTTPリクエストを中止するか、返されたObservableオブジェクトの登録を解除するだけですか? – wannadream
はい私はそれを認識しています。いずれにしても、実際のリクエストを中止するか、購読を停止するかは問題ありません。しかし、リクエストがループ内にあるので、複数のリクエストがあることがわかります – indra257
どのような条件下で、Observableオブジェクトの登録を解除したいですか? – wannadream