使用RxJava Subject进行回调包装

时间:2015-10-14 14:17:18

标签: java callback rx-java

我正在使用第三方库,我正在尝试使用RxJava进行封装,以便我可以通过RxJava实用程序将第三方库的功能公开给我的应用程序代码。

获得第三方库实例后,需要在其上设置回调,以便在对库进行调用并完成所需操作时,可以回调设置回调{{1}通知应用程序它已经完成了它正在做的任何事情。

我认为这对Object很有用,但我不能确定这是实现它的正确方法。调用Subject类的Wrapper方法后,doFirstThing类会调用Wrapper的{​​{1}}方法并设置新的Subject {{ 1}}当被​​调用时,对第三方库进行适当的方法调用。

当第三方库完成了它正在做的任何事情时,它会在回调doOnSubscribe上调用适当的方法设置Action0类。在set callback的方法中,Object使用传递给回调方法的值调用Object的{​​{1}}方法。

这是实现此类功能的正确方法吗?

Wrapper

1 个答案:

答案 0 :(得分:0)

在这里使用Subject是合适的。但是,我不确定doOnSubscribe的使用情况,因为它会调用doFirstThing次,因为订阅者可能会同时运行,并且可能会收到多次成功通知。