我有以下工作代码:加入多个回调执行在CompletableFuture
DiscoveryCallback callback = new DiscoveryCallback();
Manager.discover(someparam, callback);
我想这个调用包装成一个CompletableFuture有RX-ISH API与其他异步操作组成。
Manager.discover()是一个第三方库,实际上是一个用于本机功能结合的方法,并且它多次执行回调,在不同的线程。
我DiscoveryCallback实现以下接口:
interface onFoundListerner {
onFound(List<Result> results)
onError(Throwable error)
}
我试图注入的CompletableFuture<List<Result>>
一个实例为DiscoveryCallback,然后调用完成方法。对于一个回调执行它可以正常工作,而其他回调则被忽略。
我怎样才能加入这个多次执行的结果,使我的包装返回单个CompletableFuture?
也许一个'Iterator'或'Stream'将比'CompletableFuture's更合适。 – acelent
这样我的包装将被阻止。我需要客户端上的反应式API,但我不能依赖RxJava。顺便说一句,Observables一切都按预期工作。 – thiagogcm