Empty操作符
创建一个Observable,被订阅后立刻发射一个onCompelete事件而不发射任何数据。
Never操作符
创建一个不发射数据和事件,但是可以正常终止的Observable。
Throw
创建一个不发射内容,但是通过异常(onError)终止的Observable。
这三个操作符生成的Observable功能非常有限。可以在下列场景尝试使用:
- 测试。
- 与其它的Observable结合使用。
- 作为其它需要Observable的操作符的参数。
示例代码
RxJava版本:2.2.19//Empty
Observable<Object> empty = Observable.empty();
//Never
Observable<Object> never = Observable.never();
//Error
Observable<Object> onError1 = Observable.error(new Throwable("onError"));
Observable<Object> onError2 = Observable.error(new Callable<Throwable>() {
@Override
public Throwable call() {
return new Throwable("onError");
}
});
参考资料
http://reactivex.io/documentation/operators/empty-never-throw.html