Scala: появляется ошибка «Выражение типа Unit не соответствует ожидаемому типу ...» - PullRequest
0 голосов
/ 25 мая 2018

Я устанавливаю тайм-аут соединения для Клиента как

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))
    }
}

и получаю сообщение об ошибке

Выражение типа Unit не подтверждаетожидаемый тип Client

Может ли кто-нибудь помочь разобраться в проблеме и правильно передать целочисленное значение?

1 Ответ

0 голосов
/ 25 мая 2018

Ваш метод объявлен как возвращающий значение типа 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
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...