Intro to Rx的调度和线程部分说明了这一点
SubscribeOn和ObserveOn的使用只能由最终订阅者调用
它还说,在UI应用程序中,表示层(通常是最终订阅者)应该是调用这些方法的表示层.
我想知道这个建议是否可靠,因为我看到一些不方便的情况:
subscribeOn()在返回Observable之前调用数据层很方便,方便地传递IO Scheduler或直接调度程序.subscribeOn()UI调度程序,然后是observeOn()其他调度程序,最后observeOn()是UI调度程序.在这种情况下,只能在最终订阅者中调用subscribeOn(),observeOn()这意味着只能在UI线程中处理该流.我有理由牺牲应用程序的体系结构并忽略Rx通过最终订阅者调用这两种方法来轻松切换线程的能力吗?