我已经在番石榴中使用了Futures很长一段时间了。我用它来链接,组合,为可听的未来添加回调。
最近我开始研究Lettuce,一个用于redis的java客户端。而Lettuce提供了使用CompletionStage实现的异步客户端,以及使用RxJava实现的反应客户端。
在我看来,CompletionStage是Java 8中Guava Futures的一个实现.CompletionStage提供的字符与RxJava大致相同。如
Futures.transform() vs Observable.map()
Futures.addCallback() vs Observable.subscribe()
那么与Futures / CompletionStage相比,RxJava的优势是什么?