Как создать WSClient в Scala? - PullRequest
       21

Как создать WSClient в Scala?

0 голосов
/ 07 декабря 2018

Здравствуйте, я пишу Scala-код для извлечения данных из API.Данные разбиты на страницы, поэтому я извлекаю данные последовательно.Теперь я ищу решение потянуть несколько страниц параллельно и застрял для создания WSClient программно вместо Inject.

У кого-нибудь есть решение для создания WSClient?

Я нашел AhcWSClient (), но он потребовал неявного импорта системы акторов.

1 Ответ

0 голосов
/ 07 декабря 2018

Не нужно изобретать велосипед здесь.И я не уверен, почему вы говорите, что не можете ввести WSClient.Если вы можете ввести WSClient, то вы можете сделать что-то подобное для параллельного выполнения запросов:

class MyClient @Inject() (wsClient: WSClient)(implicit ec: ExecutionContext) {

  def getSomething(urls: Vector[String]): Future[Something] = {
    val futures = urls.par.map { url =>
      wsClient.url(url).get()
    }
    Future.sequence(futures).map { responses =>
      //process responses here. You might want to fold them together
    }
  }

}
...