재생 프레임 워크 내에서 스칼라즈의 IO 모나드를 사용하는 작은 예제를 작성했습니다. 예상대로 작동 아래의 예 : 재생 ActionBuilder의 사용이 약간 덜 자세한 API이 발생할 수 있습니다 경우ActionBuilder가 [결과] 대신 [결과]를 받음 [결과]
object IOAction {
def apply(action:IO[Result]):Result = action.unsafePerformIO
}
class ExampleController extends Controller {
val now:IO[DateTime] = IO { DateTime.now }
def index = Action { request =>
IOAction {
now.map { dateTime => Ok(views.html.index(dateTime)) }
}
}
}
가 궁금하네요. 이상적으로, 내가 쓰고 싶은 다음 invokeBlock
기능은 Future[Result]
유형에 고정하는 것 때문에 내가 붙어있어
class ExampleController extends Controller {
val now:IO[DateTime] = IO { DateTime.now }
def index = IOAction { request =>
now.map { dateTime => Ok(views.html.index(dateTime)) }
}
}
.
def invokeBlock[A](request: R[A], block: P[A] => Future[Result]): Future[Result]
사람이 IOAction 액션처럼 동일하게 동작 해결 방법을 알고 있나요 (예. 선택적인 요청 매개 변수와 몸 파서)?
play-2.0이나 play-2.3을 사용하지 않습니까? – phadej
Play 2.3.7을 사용하고 있습니다. – user3459840