gpt4 book ai didi

android - RxJava,在链接两个可观察对象之前在观察者线程中执行代码

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:02:18 26 4
gpt4 key购买 nike

我正在使用 RxJava 和 RxAndroid,我想结合两个可观察对象,但在两者之间我需要更新 UI,所以我必须在到达订阅者之前在主线程中执行代码。

一个解决方案,而不是平面映射(这是一个公认的术语吗?)两个可观察对象,是在更新用户界面后立即调用订阅者中的下一个可观察对象,但我觉得应该有一个更优雅的解决方案,如:

myObservable
.map(new Func1<Object, Object>() {
@Override
public Object call(Object object) {
/* do stuff on the main thread */
return object;
}
})
.flatMap(new Func1<Object, Observable<OtherObject>>() {
@Override
public Observable<OtherObject> call(Object o) {
return new MyOtherObservable(o);
}
})
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread());

当然,可能 map 不是我需要在这里使用的运算符。那么,是否有运营商或更好的方法来实现这一目标?还是我忽略了关于可观察对象应该如何工作的要点?

最佳答案

Rxjava 有一个 doOnNext 运算符,这正是您要找的。

关于android - RxJava,在链接两个可观察对象之前在观察者线程中执行代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29669353/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com