RxJS - 多播运算符 publishReplay
publishReplay 使用行为主体,其中,它可以缓冲值并将其重播给新订阅者并返回 ConnectableObservable。必须使用 connect() 方法来订阅创建的可观察对象。
语法
publishReplay(value); // 此处 value 是必须重播的次数。
示例
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);