コールドとホット: おさらい
RxJS のオブザーバブルは分類可能暑いか寒いかのように。コールド オブザーバブルはサブスクライブされた場合にのみ値を出力しますが、ホット オブザーバブルはサブスクリプションのステータスに関係なく値を出力します。
混乱が解決されました
はすべてですRxJS オブザーバブルはデフォルトでコールドですか?
はい、サブジェクトを除きます。
コールド オブザーバブルはホットに変換できますか?
はい、publish()、share() などの演算子、およびマルチキャスト演算子 (publishValue、shareValue など) を使用します。
Cold Observable での withlatestFrom の動作
cold$ をサブスクライブされたコールドオブザーバブルとします。 withlatestFrom(cold$, ...) は、cold$ がいつ最初にサブスクライブされたかに関係なく、サブスクリプション直後に cold$ から値を出力する新しいオブザーバブルを作成します。
FromEvent () および共有クリック イベント
RxJS.fromEvent() は、デフォルトでコールド オブザーバブルを作成します。ただし、あなたが言及した CodePen の例では、fromEvent() に異なる動作を採用する RxJS バージョン 4 を使用しているため、サブスクリプションごとに異なる値が表示されます。
コールドおよびホット オブザーバブルの詳細なフロー
コールド オブザーバブル:
ホット オブザーバブル:
結論
オブザーバブルと演算子の実装を通じたデータ フローを理解することは、ホット オブザーバブルとコールド オブザーバブルの複雑さをナビゲートするために重要です。主な考慮事項は、サブスクリプションに対するデータ送信のタイミングと、複数のサブスクリプションによるデータの損失または重複の可能性です。
以上がホットまたはコールド: RxJS Observable の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。