私はangular(4)アプリケーションを使用しましたが、いくつかのイベントではEventEmitter
を使用しています。RXjSオブジェクトを完全に破壊する方法
したがって、それぞれeventEmitter
には約50件のサブスクリプションがあります。そして私はそれらのすべてを素早く破壊する方法を知りたい。
1)Observable/Subjectオブジェクトを配列にプッシュする方法はわかっていますが、実際は汚い方法です。私たちのアプリケーションにはたくさんの醜いコードがあり、私はそれを見ると私の目が血を注いでいます。
2).takeUntil
または.takeWhile
を使用することができますが、それは解決策ではありません。 (私が間違っていると私を訂正してください)加入者はイベントに応答しませんが、Observerには加入者がいるためです。 (もしあなたが覚えているのであれば、観察者ごとに約50です)。そして、加入者は記憶に残るでしょう。私は分かりませんが、GCがそれらのオブジェクトを破壊することはできないようです。そしてそれは本当に悪いです!
私が理解しているように、サブスクリプションを持つキルオブザーバーには、.unsubscribe
または.complete
を使用する必要があります。そして....私たちはそれをどうやってできるのですか?あなたは今、配列以外の美しい方法ですか?
P.S.私はまた、破壊のためのオブジェクトを収集するTSデコレータに関する考えを持っていましたが、私は成功の結果を得ていません...
[OK]を、私はおよそ持っています〜10kサブスクリプション。どうすれば退会できますか?一見すると約10-15秒かかります。 –