我有一个自定义类,叫它Builder
。它有一个方法act()
,它执行异步操作。操作完成后,我想发出一个事件。RxJava:手表自定义类
我该如何在RxJava中完成这项工作?
看起来像一个简单的任务,但我还没有看到正确的RxJava方式来做到这一点。
更多的细节,典型的act()
方法看起来像这样:
class Builder
public void act() {
processRunner.runAsync(new ProcessRunner.ProcessResultHandler(){
@Override
public void onComplete(int result) {
// Emit event
}
});
}
而且我想要的是在消费类,叫:
builder.act()
不知怎么被警告时onComplete()
叫做。
我也控制ProcessRunner
,所以我想将其转换成RxJava和链的结果,但现在我要简单的用例!
PublishSubject是我终于实现了这一个,但我把它放在构建器类本身。感谢您的额外信息,它看起来像一个不错的方法! – mtyson
请记住,主题是“热点可观察”,这意味着即使没有人订阅它也可以发射物品。例如,你的传播者可以在没有人听到它时开始发射物品。 –
这是真的,但可以处理传播者类内部。你可以检查一些是否订阅它。 –