我看到了一段代码,我想知道为什么我们需要一起使用 Mono
和 CompletableFuture
.
@GetMapping("{productId}")
public CompletableFuture<CartProduct> getProduct(@PathVariable UUID productId) {
return time("CartProductFindRequest", poductService.findProduct(productId)).toFuture();
}
public Mono<Product> findProduct(UUID productId) {
return Mono
.when(
Mono.fromCallable(() -> productHelper.findProductById(productId)),
Mono.fromCallable(() -> productHelper.findProductAvailableDates(productId))
)
.map(t -> {
//Function to map result onto a product object
});
}