Scala:"Expression of type Unit doesn't confirm to expected type..."时获取错误



我正在为客户端设置连接超时,例如

def newClient(host: String): Client = asyncHttpClient match {
case true => {
import org.sonatype.spice.jersey.client.ahc.AhcHttpClient
AhcHttpClient.create()
}
case _ => {
import com.sun.jersey.api.client.Client
val client: Client = Client.create()
client.setConnectTimeout(5000)
//Or client.setConnectTimeout(Int.box(5000))
}
}

并收到错误消息

单位类型的表达式未确认为预期的客户端类型

有人可以帮助理解问题并正确传递整数值吗?

您的方法声明为返回类型为Client的值。client.setConnectionTimeout的返回类型是Unit,而不是Client,因此您无法从方法中返回该返回。相反,您应该返回client

def newClient(host: String): Client = asyncHttpClient match {
case true => {
import org.sonatype.spice.jersey.client.ahc.AhcHttpClient
AhcHttpClient.create()
}
case _ => {
import com.sun.jersey.api.client.Client
val client: Client = Client.create()
client.setConnectTimeout(5000)
client
}
}

相关内容

最新更新