2014-02-12 3 views
2

다음 코드에서는이 경우 Akka.future 인 비동기 결과를 반환하려고합니다. 나는이 방법의 응답 결과를 매핑했을 때, 나는 여기Return Akka.Future - Play Framework

[error] Test.scala:180: type mismatch; 
[error] found : scala.concurrent.Future[play.api.mvc.SimpleResult[String]] 
[error] required: play.api.mvc.Result 
[error]   jsonResponse.map((s: String) => Ok(s)) 

을 말한다 컴파일 오류가 발생하는 것은 내가 뭘하려 :

def testAkka(jsonList: List[String]) = Action { 
    Async { 

     val ftrList: List[Future[String]] = jsonList.map((s: String) => Akka.future {returnSomeVal(s)}) 

     val futureList: Future[List[String]] = Future.sequence(ftrList) 

     val jsonResponse: Future[String] = futureList.map((f: List[String]) => f.mkString(",")) 

     Akka.future { 
     jsonResponse.map((s: String) => Ok(s)) // Compiler complains here 
     //Ok(jsonResponse) 
     } 
    } 
    } 
+0

어떤 버전의 Play를 사용하고 있습니까? – Damiya

답변

1

사용 jsonResponse.flatMap 대신지도의