基于RxJava 2.1.12,记录RxJava的常用操作符及相关类。
ObservableEmitter
- 目的
ObservableEmitter是对Observer的抽象,用于关联Observable resource。
public interface ObservableEmitter<T> extends Emitter<T>
- 用法
Emitter只能同时关联一个Disposable或Cancellable;
当Emitter的downstream cancels the flow,或当发生onError(Throwable), onComplete(), tryOnError(Throwable) succeeds,resource将会被dispose或cancel;
当Emitter调用setDisposable(Disposable)或setCancellable(Cancellable)更换绑定resource时,之前的resource将会被dispose或cancel;
若Emitter需要关联多个resource,可以使用CompositeDisposable与Emitter关联。
ObservableOnSubscribe
- 目的
命令模式接口,包含subscribe命令,绑定receiver(抽象为emitter)以调用receiver相关操作。
public interface ObservableOnSubscribe<T> {
void subscribe(@NonNull ObservableEmitter<T> emitter) throws Exception;
}
- 用法
create操作时接受ObservableOnSubscribe的实现。
.create操作符
- 目的
create操作符连接了reactive world和callback-style world
ObservableCreate
- 目的
create操作符返回的Observable实现子类。
public final class ObservableCreate<T> extends Observable<T>
@Override
protected void subscribeActual(Observer<? super T> observer) {
CreateEmi