scala val request = HttpRequest(GET, uri = "https://example.com/data") val responseFuture: Future[HttpResponse] = Http().singleRequest(request) responseFuture .flatMap { response => response .entity .map { body => println(body.utf8String) } } scala val http = Http(system) val connectionPoolSettings = ConnectionPoolSettings(system) http.setDefaultClientPoolSettings(connectionPoolSettings) scala val request1 = HttpRequest(GET, uri = "https://example.com/data1") val request2 = HttpRequest(GET, uri = "https://example.com/data2") val request3 = HttpRequest(GET, uri = "https://example.com/data3") val responseFuture1: Future[HttpResponse] = http.singleRequest(request1) val responseFuture2: Future[HttpResponse] = http.singleRequest(request2) val responseFuture3: Future[HttpResponse] = http.singleRequest(request3) val aggregateResponseFuture: Future[(HttpResponse, HttpResponse, HttpResponse)] = for { response1 <- responseFuture1 response2 <- responseFuture2 response3 <- responseFuture3 } yield (response1, response2, response3) aggregateResponseFuture.map { case (response1, response2, response3) => println(response1.entity) println(response2.entity) println(response3.entity) } scala val connectionSettings = ConnectionSettings(system) val poolSettings = connectionPoolSettings .withConnectionSettings(connectionSettings) http.setDefaultClientPoolSettings(poolSettings)


上一篇:
下一篇:
切换中文