示例代码:。首先()操作会影响其他订阅
const test1$ = Rx.Observable.interval(1000)
const test2$ = Rx.Observable.interval(1000)
// This subscription need to get every value continuously
const firstSub = test2$
.do(val => console.log('Service: ', val))
.subscribe()
// This subscription need to get only first value and stop
const secondSub = Rx.Observable.combineLatest(test1$, test2$)
.do(val => console.log('Method: ', val))
.first()
.subscribe()
- 首先订阅启动应用程序启动之后。
- 第二次订阅由点击事件启动(因此它可以运行几次)。
当我使用两种.first()
或.take(1)
运营商,在某种程度上第一签约太受到它的影响,并停止获取值。
如何更改该行为以仍然从第一次订阅获取值,而仅从第二次订阅获取一个值并停止?
谢谢。这解释了奇怪的Rx行为。 –