9

RxJS 5 MIGRATION.mdによると、削除されたようshareReplay()です。

  1. なんで?
  2. .publishReplay(1).refCount()動作を忠実に再現していますか? 基本的に、新しいサブスクライバーに対して単一の最新のデータ セットを再生する必要があります。
4

2 に答える 2

8

短い答え:Sir Bleshの引用:

RxJS 5 が解決しようとしている問題は、ConnectableObservables が「再接続可能」である必要があり、refCountサブスクライブするまでコールドであり、すべてのサブスクリプションが終了するまでホットであり、その後再びコールドであるオブザーバブルを返す必要があるということです。

問題は、完了後に接続可能なオブザーバブルが再接続されるのを妨げる完了後のサブジェクトの動作の問題です。

長い答え: https://github.com/ReactiveX/RxJS/issues/453

現在の API は、再接続の問題に関する 2 つのビジョン間の妥協の結果のようです。関係者が当面の問題の要約を行うことができれば、それは素晴らしいことです. 私の理解では.publishReplay(1).refCount()、古い動作を維持する必要があります。つまり、サブスクライバーの数が 0 に達すると、ソースが切断され、再生できなくなります。しかし、私の言葉を鵜呑みにしないで、テストしてください。

于 2016-02-07T01:51:00.983 に答える