如何在 RxAndroid 中使用工作线程 [英] how to use worker thread in RxAndroid
问题描述
我正在尝试使用 RxAndroid,如下面发布的代码所示.首先,我知道要使用 .delay() 我必须通过Schedulers.io"让它在工作线程上工作,但 Schedulers 类不提供或没有.io"线程.如何使用它
I am trying to use RxAndroid as shown in the below posted code. firstly, I know that to use .delay() I have to have it work on a worker thread through "Schedulers.io" but Schedulers class does not provide or have ".io" thread.How to use it
库
compile 'io.reactivex.rxjava2:rxjava:2.0.1'
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
代码:
Observable observable1 = Observable.just("2");
Observable observable2 = Observable.just("7");
Observable observable = Observable.zip(observable1, observable2, (i1, i2) -> {
return i1 + ", " + i2;
})
.delay(10, TimeUnit.SECONDS, .....)//how to use a worker thread here
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(Object value) {
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
});
推荐答案
您可以在此处提供 Schedulers.io() 或 Schedulers.computation() 或任何线程.下面我修改了您的代码并提供了答案.
You can provide Schedulers.io() or Schedulers.computation() or any thread here. Below I modified your code and provided the answer.
Observable observable1 = Observable.just("2");
Observable observable2 = Observable.just("7");
Disposable d =
Observable.zip(
observable1, observable2, (i1, i2) -> {
return i1 + ", " + i2;
}
)
.delay(10, TimeUnit.SECONDS, Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(Object value) {
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
});
}
还有一件事我想在这里提一下.一旦订阅了 Observable
,它就会返回 disposable
.我也对您的代码进行了更改.
One more thing I would like to mention here. Once an Observable
is subscribed, it returns disposable
. I have made that changes too in your code.
希望这个回答对您有所帮助.
Hope this answer helps you.
这篇关于如何在 RxAndroid 中使用工作线程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!