响应式编程中 CompletableFuture、Observable 与 Single 的深度解析与应用
1. CompletableFuture 与 Observable 的交互
在调用 bookAsync() 方法时, thenCompose() 的使用更为自然。该方法返回 CompletableFuture<Ticket> ,为避免双重包装,我们选择使用 thenCompose() 而非 thenApply() 。
在与 CompletableFuture 的交互方面,虽然存在工厂方法 Observable.from(Future<T>) 能返回 Observable<T> ,但由于旧的 Future<T> API 的局限性,它存在一些缺点,最主要的是在内部调用 Future.get() 时会阻塞。经典的 Future<T> 实现无法注册回调并异步处理,在响应式应用中用处不大。
而 CompletableFuture 则不同,从语义上看,它可被视为具有以下特性的 Observable :
- 热的 : CompletableFuture 背后的计算会立即
超级会员免费看
订阅专栏 解锁全文
796

被折叠的 条评论
为什么被折叠?



