Rx java RxJava:将回调转换为可观察的,而不改变

Rx java RxJava:将回调转换为可观察的,而不改变,rx-java,rx-android,Rx Java,Rx Android,我对RxJava有点陌生,但我正在努力学习。然而,在本例中,我有一个无法更改的代码,它使用一个简单的回调模型。但是回调不是直接调用的,我不能参数化它,但是我仍然希望使用可观测值。基本的例子是,我调用myFunc(),它返回一个可观察值并启动一个后台操作。然后后台操作将在myCallback中返回。我想要的是,然后调用onNext并给出结果,然后我可以对结果做一些事情。我只是不知道该用什么,这和主题有关吗 private void doStuff() { myFunc().subscrib

我对RxJava有点陌生,但我正在努力学习。然而,在本例中,我有一个无法更改的代码,它使用一个简单的回调模型。但是回调不是直接调用的,我不能参数化它,但是我仍然希望使用可观测值。基本的例子是,我调用myFunc(),它返回一个可观察值并启动一个后台操作。然后后台操作将在myCallback中返回。我想要的是,然后调用onNext并给出结果,然后我可以对结果做一些事情。我只是不知道该用什么,这和主题有关吗

private void doStuff() {
    myFunc().subscribe(new Action1<Object>() {
        @Override
        public void call(Object o) {
            System.out.println("DO SOMETHING WITH THE RESULT");
        }
    });
}

private void myCallback(Object result) {
    [SOMETHING].onNext(result);
}

private Observable<Object> myFunc() {
    //Do stuff which will return in myCallback
    return [SOMETHING]
}
private void doStuff(){
myFunc().subscribe(新操作1()){
@凌驾
公共作废调用(对象o){
System.out.println(“对结果做点什么”);
}
});
}
私有void myCallback(对象结果){
[某物].onNext(结果);
}
私有可观测myFunc(){
//做一些将在myCallback中返回的事情
归还[某物]
}

查看
PublishSubject

PublishSubject<T> subject = PublishSubject.create();
subject
   // run in background
  .subscribeOn(Schedulers.computation()) 
  .doOnNext(item -> doSomething(item))
  //make sure you log errors somewhere!
  .subscribe(subscriber); 

谢谢,我同时找到了它,但我也找到了:)
subject.onNext(item1);
subject.onNext(item2);
subject.onCompleted();