java - CompletableFuture allof 超时处理
本文介绍了java - CompletableFuture allof 超时处理的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
想实现的效果:future的集合如果在3秒内没有返回的化就执行提取出其中已经完成的future。
编译报错,"Cannot infer functional interface type."
解决方案
编译报错的问题,是题主没有太仔细哈,这个很容易就检查出来了
可以看到这个报错标红的地方,在applyToEither
方法的第二个参数上,那查看一哈applyToEither
方法的参数格式
public <U> CompletableFuture<U> applyToEither(
CompletionStage<? extends T> other, Function<? super T, U> fn) {
return orApplyStage(null, other, fn);
}
第二个参数是一个Function
,Function
要求的是根据一个参数返回一个结果,而题主写的很明显,是没有参数的啊,写成了一个Supplier
,当然参数类型是不符合方法applyToEither
的要求噻
这篇关于java - CompletableFuture allof 超时处理的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文