、件名& BehaviorSubject
Difference Between Observable and Subject
あなたが懸念している全てのデータ検索の場合は、DeborahKの答えはかなり右側にあります。通常、私は「普通」と軽く言っていますが、HTTPリクエストは標準的なものです。要求が出てきて、戻ってきて、何らかのデータを返し、新しい購読が行われるまで再開しません。ほとんどの観測可能なパターンでは、標準Observable
タイプが仕事に最適です。
これについて考える最も簡単な方法は、名前を見ることです。観察可能。あなたがしているすべてがデータを取得している場合は、Observable
があなたの望むものです。ただし、インスタンシエーション後にデータストリームを操作する必要がある場合は、Subject
またはBehaviorSubject
が適切です。 Subject
とBehaviorSubject
の違いは、Subject
が初期値を持つ必要があることです。ここでBehaviorSubject
にはインスタンス化時に初期値が与えられます。
Subject
またはBehaviorSubject
のユースケースの良い例は、Modalを表示するかどうかをアプリケーションに伝えるためにサイト全体で使用されるブール値です。複数のコンポーネントがモーダルの可視性の状態を変更する可能性があるため、変更可能なBehaviorSubject
が必要です。親コンポーネントがモーダルを表示するようトリガします。
Subject
のもう1つの良い例は、その内容をアプリケーション全体の他のコンポーネントにアドバタイズする検索バーです。ここで重要な点は、アプリケーション内の他のコンポーネント/サービスによって監視される新しい値をストリームに送出していることです。
私が最後に言うことは、上記のすべてが技術的にはObservable
のカテゴリに該当するということです。私はそれが混乱の多くが起こる場所だと思う。私はあなたの質問について気付いてい
データをプッシュ
もう一つは、あなたが実際に角度自体の中に必ずしも解くことができないという問題を解決しようとしているように思えることがあります。 "バックエンド"内で、フロントエンドにプッシュしたい非常に動的なデータがある場合は、websocketソケットサーバーを調べる必要があります。それはそれよりも複雑に思えますが、基本的にサーバーがアプリケーションにデータを「プッシュ」することができます。安全なデータの場合は、サーバーを使用して「利用可能な更新プログラム」メッセージをプッシュし、アプリケーションが更新されたデータに対して安全にHTTP要求を行うようにすることをお勧めします。 Webソケットを介して安全な情報を送信しないでください。 Here is a great resourceノードサーバー内でソケットIOを使用して角型アプリケーションにプッシュするウェブソケット用。そこにはたくさんのことがあります。
私はデータの変更を監視する必要があります。 – user8408326
投稿記事に基づいて質問しています。この記事が長い間多くのデータを返すとします。 – user8408326
@deborak私はデータに特別なことをしていません。それをHTTP経由で取得し、それをあるエンティティにマッピングし、最後に 'ngFor'を使用してバインドします。データはかなり頻繁に変化します。 – user8408326