RxJS 多播操作符与测试基础
1. 连接一个可观察对象到多个观察者
在 RxJS 和网络世界中,单点到单点的传输称为单播,而一对多的传输称为多播。 share()
是一个多播操作符,但还有其他的多播操作符,它们都源自 multicast()
这个通用函数。不过在实际中,通常不会直接使用 multicast()
,而是使用它的一些特殊形式。
1.1 常见的多播操作符
常见的多播操作符有以下几种:
- Publish
- Publish with replay
- Publish last
1.2 Publish 操作符
publish()
是最基本的多播操作符,它创建一个可观察对象,允许将单个订阅分发给多个订阅者。与 share()
不同, share()
会根据订阅者的数量自动管理源流的订阅和取消订阅,而 publish()
更底层一些。
以下是使用 publish()
的示例代码:
const source$ = Rx.Observable.interval(1000)
.take(10)
.do(num => {
con