Single.just(1).map(new Function<Integer, String>() {
@Override
public String apply(@NotNull Integer integer) throws Exception {
return String.valueOf(integer + 1);
}
}).subscribe(new Consumer<String>() {
@Override
public void accept(String str) throws Exception {
System.out.println(str);
}
}, new Consumer<Throwable>() {
@Override
public void accept(Throwable throwable) throws Exception {
System.out.println(throwable.getMessage());
}
});
}
Single只会发送1个事件,要么成功要么失败事件,没有onComplete
通知
public abstract class Single<T> implements SingleSource<T> {
...
}
public interface SingleSource<T> {
void subscribe(@NonNull SingleObserver<? super T> observer);
}
public interface SingleObserver<T> {
void onSubscribe(@NonNull Disposable d);
void onSuccess(@NonNull T t);
void onError(@NonNull Throwable e);
}
Single只会对SingleObserver感兴趣,SingleObserver只有成功与失败事件,比如可以用来搭建网络框架,要么请求成功,要么失败。
基于源码2.2.4版本