我认为我一定会误解一些基本知识,因为在我看来,这应该是最基本的情况,但是对于我的一生,我无法从文档中弄清楚该如何做。
基本上,我希望能够做到这一点:
// 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')
,但似乎实际上没有用,这被调用给观察者,这似乎不正确。观察者应该是对数据流做出反应的事物,而不是对其进行更改,对吗?
我只是不了解观察者/可观察的关系吗?
请看一下以阐明您的想法(您已经缺少对Reactive编程的介绍):gist.github.com/staltz/868e7e9bc2a7b8c1f754。这里也有很多资源,您可以从中提高理解:github.com/Reactive-Extensions/RxJS#resources
—
user3743222 2015年
我检查了第一个,似乎是一个坚实的资源。第二个列表很不错,在上面找到了aaronstacy.com/writings/reactive-programming-and-mvc,它帮助我发现了解决问题的Rx.Subject。那谢谢啦!一旦编写了更多应用程序,我将发布解决方案,只是想对它进行一些测试。
—
LiamD 2015年
呵呵,非常感谢您提出这个问题,我要问的是同样的问题,并记着相同的代码示例:-)
—
arturh 2016年