java - CompletableFuture allof 超时处理

查看:1405
本文介绍了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);
    }

第二个参数是一个FunctionFunction要求的是根据一个参数返回一个结果,而题主写的很明显,是没有参数的啊,写成了一个Supplier,当然参数类型是不符合方法applyToEither的要求噻

这篇关于java - CompletableFuture allof 超时处理的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆