昨天介绍rxjava2简单的写法,今天会介绍rxjava2其他的做法
RxJava提供多种Observables,主要差异在於callback的类型不同,首先:
不支持back pressure,可在onNext(String s)
多次执行,完成就调用onComplete()
,在onNext(String s)执行期间发生异常则调用onError(Throwable e)
Observable.fromCallable(new Callable<String>() {
@Override
public String call() throws Exception {
return null;
}
}).subscribe(new DisposableObserver<String>() {
@Override
public void onNext(String s) {
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
});
用法跟Observable差不多,支持back pressure,在被观察者发送事件的速度快於观察者的处理速度时,降低被观察者发送事件的速度。
更新资料时,只需要知道资料的更新是成功或者是失败,无回传值,只处理 onError(Throwable e)
或onComplete()
的事件
Completable.fromAction(new Action() {
@Override
public void run() throws Exception {
}
}).subscribe(new DisposableCompletableObserver() {
@Override
public void onComplete() {
}
@Override
public void onError(Throwable e) {
}
});
回传值成功就调用onSuccess(String s)
,否则调用onError(Throwable e)
Single.fromCallable(new Callable<String>() {
@Override
public String call() throws Exception {
return null;
}
}).subscribe(new DisposableSingleObserver<String>() {
@Override
public void onSuccess(String s) {
}
@Override
public void onError(Throwable e) {
}
});
onSuccess(String s)
接收Maybe发出的数据,完成就调用onComplete()
,否则调用onError(Throwable e)
,onSuccess(String s)
必须执行於onComplete()
跟onError(Throwable e)
之前,否则无效。
Maybe.fromCallable(new Callable<String>() {
@Override
public String call() throws Exception {
return null;
}
}).subscribe(new DisposableMaybeObserver<String>() {
@Override
public void onSuccess(String s) {
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
});
从上方介绍的Observables中,会发现其中有fromCallable
跟fromAction
,都是建立要执行的内容,差异是:
fromCallable:有回传值
fromAction:无回传值
<<: [从0到1] C#小乳牛 练成基础程序逻辑 Day 9 - 运算子Demo 程序码演示
>>: [Day09] Storybook - What's a story and how to write
我们在上一次讲到用数理观点来观察反射行为的诸多细节,而这篇文则是要讲解斜向抛射。 不过因为斜向抛射的...
今天要跟各位分享的是我经营粉专後发生的故事! 进入正题 在经营粉专的初期,我维持约 2-3 天产出一...
设定档 昨日说明关於使用者身分验证以及权限设定的部分加以说明,并且透过第三方插件的方式展现如何在do...
今天这篇文章主要会介绍 Cypress 的基本结构以及常见的语法,那我们马上开始吧! 基本结构 Cy...
最近正在学习git,想要透过把学到的东西写下来,来记录一下自己学到的东西,也方便以後回顾这些知识。 ...