我已经通过注册了一个钩子
RxJavaHooks.setOnScheduleAction(new MyOnScheduleAction());
并使用创建了一个自定义的调度程序(用于测试)
Scheduler scheduler = Schedulers.from(Executors.newSingleThreadExecutor());
但是下面的代码没有调用注册的钩子:
Observable.create(subscriber -> {
subscriber.onNext("Hi");
subscriber.onComplete();
}).subscribeOn(scheduler).subscribe(myTestSubscriber);
但是,如果我将
subscribeOn(scheduler)
替换为subscribeOn(Schedulers.io())
(或者将subscribeOn(Schedulers.computation())
替换),该挂钩将按预期方式被调用。这是预期的行为吗?我正在使用RxJava 1.1.8。
最佳答案
这是Schedulers.from()
的错误,将在1.1.9中修复。您可以跟踪相关的问题/ pr here。