我认为我必须误解一些基本的东西,因为在我看来,这应该是一个可观察的最基本的案例,但对于我的生活,我无法弄清楚如何从文档中做到这一点.
基本上,我希望能够做到这一点:
// 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
}
Run Code Online (Sandbox Code Playgroud)
但是我找不到像这样的方法push.我正在使用它作为点击处理程序,我知道他们已经Observable.fromEvent为此,但我正在尝试将它与React一起使用,而我宁愿只能在回调中更新数据流,而不是使用完全不同的事件处理系统.基本上我想要这个:
$( "#target" ).click(function(e) {
eventObservable.push(e.target.text());
});
Run Code Online (Sandbox Code Playgroud)
我得到的最接近的是使用observer.onNext('foo'),但这似乎并没有真正发挥作用,并且这是在观察者身上调用的,这似乎并不正确.观察者应该是对数据流作出反应的东西,而不是改变它,对吧?
我只是不理解观察者/可观察的关系吗?