0
我已經試過2點不同的方式來建立一個觀察者/可觀察到使此代碼工作:簡單的觀察到/觀察員rxjs
設置#1:
var xObserver;
var xObservable = Rx.Observable
.create(observer => xObserver = observer)
.publish()
.refCount();
設置#2:
var xObserver = Rx.Subject.create();
var xObservable = x;
用法
xObserver.next('foo'); // no subscription yet, so nothing should happen
xObservable.subscribe(v => console.log(v)); // pipe values to console
xObserver.next('bar'); // push another value, should go to console
當「foo」被推送給觀察者,並且只有「bar」被顯示在控制檯上時,我的期望是什麼都不會發生。
對於「Setup#1」,我收到一個錯誤「TypeError:無法讀取未定義的屬性'next',這很有意義,因爲沒有觀察者訂閱,所以xObserver
尚未初始化。
「安裝程序#2」出現錯誤「TypeError:xObserver.next不是函數」。
我在做什麼錯?
其實,這是行不通的。當我這樣做時,'subject.next'不確定: ''' var subject = new Rx.Subject(); subject.next(123); ''' – skb
你不會碰巧使用rxjs <= version 4.1?在那種情況下,它會是'.onNext()' - 因爲您在代碼中編寫了'.next',我假設您正在使用> 5.xx – olsn
看起來我正在使用4.1.0,因爲這是最新的可在npm上找到。奇怪的是'.next'在其他情況下可以使用同一版本的'rxjs'。 – skb