2016-12-15 15 views
3

角度2サービスのライフサイクルに関する質問があります。 指定されたすべてのプロバイダを使用してコンポーネントのインジェクタを作成すると、その一部にクリーンアップロジックが必要な場合があります(たとえば、clearTimeoutsに、または非同期XMLHTTPリクエストをキャンセルするなど)。インジェクタプロバイダのサービスのライフサイクルは存在しないため、回避策は、compnent ngOnDestroy内の各サービスで手動で「destroy」メソッドを呼び出すことです。 私の質問です - それを行うより良い方法はありますか?角度2サービスのクリーンアップコード

+1

いいえ、申し訳ありません.... – n00dl3

答えて

0

私たちは同じ問題に直面しており、我々は同じ解決策に着きました。 サービスクラスの内部でdestroyという関数を作成します。次に、サービス、を提供するコンポーネントのngOnDestroyの内部で、サービス破壊関数を呼び出します。