Java CompletionStage-thenX/thenXAsync:相同的方法签名,一个编译,另一个don';T
使用,我被引导到我们多个 我第一次使用之前,我转向,两者提供相同的签名,但当我使用我的程序不再编译,抛出下面的错误 错误:(80,22)重载了方法值,然后使用可选项应用同步: (x$1:java.util.function.function[\u>:com.datastax.oss.driver.api.core.cql.AsyncResultSet、\uuz:com.datastax.oss.driver.api.core.cql.AsyncResultSet、\udata.model.stored.Company) .ThenApplySync[StoredCompany]((异步结果集)=>company) 展望问题之后,这两个方法应该具有相同的最终行为(除了异步方法处理另一个线程上的函数,在本例中由会话提供) 问题在我将X更改为X同步的每个地方都是一样的,有一个示例部分:Java CompletionStage-thenX/thenXAsync:相同的方法签名,一个编译,另一个don';T,java,scala,asynchronous,Java,Scala,Asynchronous,使用,我被引导到我们多个 我第一次使用之前,我转向,两者提供相同的签名,但当我使用我的程序不再编译,抛出下面的错误 错误:(80,22)重载了方法值,然后使用可选项应用同步: (x$1:java.util.function.function[\u>:com.datastax.oss.driver.api.core.cql.AsyncResultSet、\uuz:com.datastax.oss.driver.api.core.cql.AsyncResultSet、\udata.model.sto
session
.executeAsync(statement)
//.thenApplyAsync[Boolean](...) >> this one cause the error
.thenApply[Boolean]({ set: AsyncResultSet =>
optionRow(set) match {
case Some(row) => row.getBoolean(CqlConst.AppliedColumnName)
case None => throw new DataNotFoundException(id.toString)
}
})
两者之间的预期结果没有差别(异步版本的执行效率稍低除外)