【发布时间】:2016-12-18 07:30:19
【问题描述】:
我尝试了 2 种不同的方法来设置观察者/可观察者以使这段代码正常工作:
设置 #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: Cannot read property 'next' of undefined”,这是有道理的,因为还没有观察者订阅,所以 xObserver 尚未初始化。
使用“Setup #2”我得到一个错误“TypeError: xObserver.next is not a function”。
我做错了什么?
【问题讨论】:
标签: rxjs