У меня есть служба HTTP Akka, который возвращает строку, как показано ниже:Почему моя карта() не работает?
val route1: Route = {
path("hello") {
get{
complete{
println("Inside r1")
"You just accessed hello"
}
}
}
}
Я пытаюсь понять разницу между картой и flatMap
Например, приведенный ниже код дает мне результат, Ожидаемый результат:
val future1: Future[String] =
Http()
.singleRequest(
HttpRequest(method = HttpMethods.GET,
uri = "http://localhost:8187/hello"))
.flatMap(testFlatFunc)
def testFlatFunc(x: HttpResponse): Future[String] = {
Unmarshal(x).to[String]
}
Но, если я пытаюсь заменить его на карте, как показано ниже я получаю выход как FulfilledFuture(You just accessed hello)
val future1: Future[String] = Http()
.singleRequest(
HttpRequest(method = HttpMethods.GET,
uri = "http://localhost:8187/hello"))
.map(testFunc)
def testFunc(x: HttpResponse): String={
Unmarshal(x).to[String].toString
}
Почему моя карта() не работает должным образом?