3
在RxJS中,我希望即使在流更改後,訂閱仍保留在流上。下面我用了一個間隔流來測試行爲在保持訂閱的情況下更改可觀察的流
//Works because foo$ is unchanged
let foo$ = Rx.Observable.interval(1000);
foo$.subscribe(x => console.log(`foo$: ${x}`));
//Doesn't work because bar$ is changed
let bar$ = Rx.Observable.never();
bar$.subscribe(x => console.log(`bar$: ${x}`))
bar$ = Rx.Observable.interval(1000);
如何堅持訂閱,同時改變bar$
流? 我是否在處理訂閱並在更改bar $後設置另一個訂閱?
你爲什麼不考呢?這很容易做到。我希望barFunc像往常一樣接收它的值。您不會訂閱'foo $',而是訂閱'foo $'引用(訂閱時)。如果'foo $'稍後改變,它不應該改變訂閱的任何內容。但正如我所說的那樣測試並告訴我們結果。 – user3743222
我已經更新了代碼並在jsbin上進行了測試。沒有運氣。任何其他想法? – ckwong
... Rx.Observable.never是一個永遠不會發出任何值的可觀察值......你無法想象出一個更糟糕的測試例子。 – user3743222