最佳答案
我想我一定是误解了一些基本的东西,因为在我看来,这应该是可观察到的最基本的情况,但在我的一生中,我不能从医生那里弄清楚如何做到这一点。
基本上,我希望能够做到这一点:
// create a dummy observable, which I would update manually
var eventObservable = rx.Observable.create(function(observer){});
var observer = eventObservable.subscribe(
function(x){
console.log('next: ' + x);
}
...
var my_function = function(){
eventObservable.push('foo');
//'push' adds an event to the datastream, the observer gets it and prints
// next: foo
}
但是我还没有找到像 push
这样的方法。我使用这个来处理点击,我知道他们有 Observable.fromEvent
来处理,但是我试图用它来处理 React,我更愿意在回调中简单地更新数据流,而不是使用一个完全不同的事件处理系统。所以基本上我想要这个:
$( "#target" ).click(function(e) {
eventObservable.push(e.target.text());
});
我得到的最接近的是使用 observer.onNext('foo')
,但这似乎并不实际工作,这是调用观察者,这似乎是不正确的。观察者应该是对数据流做出反应的东西,而不是改变它,对吗?
我是不是不理解观察者和可观察者之间的关系?