2017-06-16 156 views
0

有没有办法让RxJava observable在其他调度程序完成后将其当前调度程序更改为之前的调度程序?RxJava返回上一个调度程序

Observable 
     .just(null) 

工作移至IO调度

 .subscribeOn(Schedulers.io()) 

工作被移到计算调度

 .flatMap(__ -> Observable.timer(30, TimeUnit.MILLISECONDS)) 

所以,在这里我不想明确要求观察的io线程,而是返回到前一个调度程序(即io)。

 .subscribe(__ -> System.out.println(Thread.currentThread().getName())); 

rxjava:1.1.8

+0

'subscribeOn'表示运营商将订阅该调度器上的Observable。 AFAIK没有办法只影响upsteam。或者你可以将'subscribeOn'和'observeOn'组合到你的Observable中。 –

回答

0

你想返回到确切的线程或同一调度?前者在1.x中不可用,但可能在2.x中通过extensions library。后者要求使用observeOn(Schedulers.io())