gpt4 book ai didi

android - 在IO线程上调用doOnSubscribe

转载 作者:行者123 更新时间:2023-12-02 13:21:21 25 4
gpt4 key购买 nike

我有以下代码:

checkZipCode.exec(it)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.doOnSubscribe {
Timber.d("Main thread: ${Looper.getMainLooper().isCurrentThread}")
view.showLoading(true)
}
.doOnDispose { view.showLoading(false) }
.flatMapMaybe { isZipValid ->
if (isZipValid) {
userModel.zipCode = it.toString()
saveUser.exec(userModel)
autoSelectCityIfSingle.exec()
} else {
// TODO: Should show error here?
Maybe.empty()
}
}
.subscribe(...)

日志为: Main thread: false
我以为 doOnSubscribe在它上面的最新调度程序上被调用。是不是

最佳答案

订阅执行路径实际上并不是observeOn所执行的操作。看
this question。如果您确实希望在链中该位置的主线程上发生某些事情,也许您可​​以在另一个Observable中使用flatMap在其doOnSubscribe内执行某些操作(因为这将在发射线程上发生,这是此处的主线程) 。

关于android - 在IO线程上调用doOnSubscribe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55403050/

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