我安排Action0
触发我要订阅的功能。目前,除了致电toBlocking().single()
之外,我无法想到更好的方法。更重要的是,我还想在完成后再次安排Action0
。
必须有一种更惯用的方式来做到这一点。如果不处理Subscription
返回的.schedule()
,我是否也会对内存泄漏敞开心扉?
worker.schedule(new Action0() {
@Override
public void call() {
try {
consumer.doSomething().toBlocking().single();
} finally {
worker.schedule(this);
}
}
});
FWIW我坚持使用RxJava 1.
答案 0 :(得分:1)
在RxJava世界中,您可能不希望使用显式schedule()
操作。
完成描述的更好方法:
Observable.fromCallable( consumer.doSomething() )
.repeat()
.subscribeOn( scheduler )
.subscribe();
这会一遍又一遍地调用doSomething()
,忽略输出。调用完成后,repeat
运算符将重新订阅。