我已经在这里待了几个小时,但似乎无法解决这个问题。错误与这一段代码有关:错误本身是:不存在类型变量 U 的实例,因此 GetUsersForAdAccountResponse 符合 CompletionStage在thenComposes链的最开始,我删除了return并使用了 IntelliJ 的“引入局部变量...”功能来查看整个链(直到并包括第 1118 行)返回的类型:结果是一个final CompletionStage<U> uCompletionStage = ...但是可以看到包含方法的返回类型是public CompletionStage<GetUsersForAdAccountResponse> ...是什么阻止编译器推断GetUsersForAdAccountResponse?(同样,通常这里有一个return。)我还尝试在每个过程中引入一个局部变量thenCompose,它们似乎都是正确的。每个产生 a CompletionStage<Foo>,下一个thenCompose提供一个期望的 lambdaFoo并产生 a CompletionStage<Bar>,依此类推。(在代码的一次重组中,我确实看到了嵌套,CompletionStage<CompletionStage<Foo>>但我认为这是我自己重写的产物。)
1 回答
慕妹3146593
TA贡献1820条经验 获得超9个赞
thenCompose
链中的最后一个应该是thenApply
. 传递给它的函数正在返回一个GetUsersForAdAccountResponse
不是CompletionStage
。
thenCompose
是flatMap
的CompletableFuture
。它需要一个返回 a 的函数并将CompletionStage
结果展平。
添加回答
举报
0/150
提交
取消