Empty操作符

创建一个Observable,被订阅后立刻发射一个onCompelete事件而不发射任何数据。
image.png

Never操作符

创建一个不发射数据和事件,但是可以正常终止的Observable。
image.png

Throw

创建一个不发射内容,但是通过异常(onError)终止的Observable。
image.png
这三个操作符生成的Observable功能非常有限。可以在下列场景尝试使用:

  • 测试。
  • 与其它的Observable结合使用。
  • 作为其它需要Observable的操作符的参数。

    示例代码

    RxJava版本:2.2.19
    1. //Empty
    2. Observable<Object> empty = Observable.empty();
    3. //Never
    4. Observable<Object> never = Observable.never();
    5. //Error
    6. Observable<Object> onError1 = Observable.error(new Throwable("onError"));
    7. Observable<Object> onError2 = Observable.error(new Callable<Throwable>() {
    8. @Override
    9. public Throwable call() {
    10. return new Throwable("onError");
    11. }
    12. });

    参考资料

    http://reactivex.io/documentation/operators/empty-never-throw.html