Creo que debo estar malentendiendo algo fundamental, porque en mi opinión, este debería ser el caso más básico para un observable, pero durante mi vida no puedo encontrar la manera de hacerlo desde los documentos.
Básicamente, quiero poder hacer esto:
// 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
}
Pero no he podido encontrar un método como push
. Estoy usando esto para un controlador de clics, y sé que lo tienen Observable.fromEvent
para eso, pero estoy tratando de usarlo con React y prefiero poder simplemente actualizar el flujo de datos en una devolución de llamada, en lugar de usar un completamente diferente sistema de manejo de eventos. Entonces básicamente quiero esto:
$( "#target" ).click(function(e) {
eventObservable.push(e.target.text());
});
Lo más cerca que conseguí fue usarlo observer.onNext('foo')
, pero eso no pareció funcionar realmente y eso fue llamado por el observador, lo que no parece correcto. El observador debería ser lo que reacciona al flujo de datos, no lo cambia, ¿verdad?
¿No entiendo la relación observador / observable?