Rxjs-multicasting-operator-publishreplay

提供:Dev Guides
2020年6月23日 (火) 01:13時点におけるMaintenance script (トーク | 投稿記録)による版 (Imported from text file)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先:案内検索

RxJS-マルチキャストオペレーターpublishReplay

publishReplayは動作サブジェクトを利用します。動作サブジェクトでは、値をバッファリングし、それを新しいサブスクライバーに再生して、ConnectableObservableを返すことができます。 作成されたオブザーバブルをサブスクライブするには、connect()メソッドを使用する必要があります。

構文

publishReplay(value);//here value is the number of times it has to replay.

import { interval} from 'rxjs';
import { take, publishReplay} from 'rxjs/operators';

let observer = interval(1000).pipe(
   take(3),
   publishReplay(2)
);
const subscribe_one = observer.subscribe(
   x => console.log("Value from Sub1 = "+x)
);
const subscribe_two = observer.subscribe(
   x => console.log("Value from Sub2 = "+x)
);
observer.connect();
setTimeout(() => {
   const subscribe_three = observer.subscribe(
      x => console.log("Value from Sub3 = "+x)
   );
}, 2000);

出力

publishReplay Operator