我有一段使用Java8 CompletableFutures的Groovy代码:
CompletableFuture<Integer> future1 = CompletableFuture.supplyAsync({
Thread.sleep(1500)
return 1
})
CompletableFuture<Integer> future2 = CompletableFuture.supplyAsync({
Thread.sleep(1000)
return 2
})
def closure = { Integer a, Integer b -> a + b }
CompletableFuture<Integer> result = future1.thenCombineAsync(future2, closure)
println(result.get())
问题是我无法在第二行的第二行调用thenCombineAsync。无论我做什么,编译器都不接受第二个参数,它必须是BiFunction,因为类型不匹配。我尝试了很多东西。任何能够实现这一目标的解决方案都非常受欢迎。