Myślę, że muszę źle rozumieć coś fundamentalnego, ponieważ moim zdaniem to powinien być najbardziej podstawowy przypadek dla obserwowalnego, ale dla mojego życia nie mogę dowiedzieć się, jak to zrobić z dokumentacji.
Zasadniczo chcę móc to zrobić:
// 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
}
Ale nie udało mi się znaleźć takiej metody push
. Używam tego do obsługi kliknięć i wiem, że mają Observable.fromEvent
do tego, ale próbuję go używać z Reactem i wolałbym móc po prostu zaktualizować strumień danych w wywołaniu zwrotnym, zamiast używać zupełnie innego system obsługi zdarzeń. Zasadniczo chcę tego:
$( "#target" ).click(function(e) {
eventObservable.push(e.target.text());
});
Najbliższy, jaki uzyskałem, był używany observer.onNext('foo')
, ale to nie wydawało się działać i to jest wezwane przez obserwatora, co nie wydaje się właściwe. Obserwator powinien reagować na strumień danych, a nie go zmieniać, prawda?
Czy po prostu nie rozumiem relacji obserwator / obserwowalny?