示例代碼:。首先()操作會影響其他訂閱
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行爲。 –