當您需要共享可觀察執行時,您可以使用執行publish()
和refCount()
方法的共享運算符,但在使用Subjects
時,如何使用refCount()
?Rxjs使用主題與refCount
new Subject().refCount()
當您需要共享可觀察執行時,您可以使用執行publish()
和refCount()
方法的共享運算符,但在使用Subjects
時,如何使用refCount()
?Rxjs使用主題與refCount
new Subject().refCount()
這是因爲refCount()
不像其他運營商。
當您使用publish()
運算符時,它將返回ConnectableObservable
的實例。 refCount()
is an operator specific only to ConnectableObservable
,你不會在任何其他Observable中找到它。
一個很好的問題是你想要的實現與refCount()
和Subject
因爲refCount()
真正有意義只有當你想從可觀察源訂閱/退訂(我不知道你的具體使用情況是什麼)。
無論如何,如果有意義的話,您總是可以使用(new Subject()).publish().refCount()
。
我有多個觀察者需要以共享相同的執行,並且我希望在觀察者的數量爲0時使用refCount自動取消訂閱主題。 – undefined
而且我需要使用主題,因爲我想手動調用next() – undefined
@undefined然後使用Subject你需要它。例如:'let source = new Subject(); let obs = source.publish()。refCount(); obs.subscribe(....)' – martin