是否有相当于RxJava的Single的Subject?

Rob*_*wis 4 java reactive-programming rx-java rx-java2

在RxJava中是否有类似于Subject适用于某个类的类Single?据推测,我会调用它onSuccess( item )onError( Throwable )方法,输出将转发给SingleSubscriber.

我想我可以使用它Observable Subject并将其转换为a Single但看起来有点笨重.

目前使用RxJava 1但对RxJava 2的情况也很感兴趣.

mie*_*sol 8

在RxJava 2中SingleSubject,您可以使用如下:

SingleSubject<Integer> subject1 = SingleSubject.create();

TestObserver<Integer> to1 = subject1.test();

// SingleSubjects are empty by default
to1.assertEmpty();

subject1.onSuccess(1);

// onSuccess is a terminal event with SingleSubjects
// TestObserver converts onSuccess into onNext + onComplete
to1.assertResult(1);

TestObserver<Integer> to2 = subject1.test();

// late Observers receive the terminal signal (onSuccess) too
to2.assertResult(1);
Run Code Online (Sandbox Code Playgroud)

不幸的是,RxJava 1中没有等效的功能.但是,正如您所提到的,您可以通过调用获得所需的结果subject.toSingle().