1
在我的演員我有不同的地址兩個請求是這樣的:Akka:如何管理雙重http請求?
http.singleRequest(HttpRequest(uri = encodedUri).addHeader(Accept(MediaTypes.`application/json`)))
我需要這兩個請求,同時返回一個值。由於正常的期貨我希望是這樣的:
val response: Future[SomeData] = for {
r1 <- firstRequest
r2 <- secondRequest
} yield {
// merge the results of these two responses
}
response onComplete {
case Success(body) => sndr ! Something(body)
case Failure(message) => BadRequest(message.toString)
}
在本文檔中的這一部分:
http://doc.akka.io/docs/akka/2.4/scala/http/client-side/request-level.html
建議使用pipeTo
到self
管理單個請求,而不是使用原生onComplete/map/etc
。
我該如何申請多個請求,比如在我的情況下,我需要等待2個或更多完成?
'flatMap'可能不如'map'。我認爲真正的問題是發送者在未來線程中的可見性。 – Randomize