我已经在番石榴中使用 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 的优势是什么?