Play Framework 2 Scala WS执行同步请求

Umu*_*zer 4 concurrency scala playframework playframework-2.0

我正在学习Scala.我以前使用Play Framework 2 Java并尝试使用和学习Scala重写我以前的一些工作.

我需要在我的代码中的某处执行同步WS请求并从中获取Result Object.

当我回到Java时,我常常这样做:

WS.url("someurl").get().get(5000);
Run Code Online (Sandbox Code Playgroud)

或者T Promise<T>.get(Long timeout)确切地说.

自从我切换到Scala后,我现在正在使用play.api.libs.ws并将代码重写为:

val somefuture:Future[Response] = WS.url("someurl").get();
Run Code Online (Sandbox Code Playgroud)

但我不能得到响应未来[回应] syncly!.get()scala上没有方法.

如何ResponseFuture[Response]同步中获取对象?

Sam*_*ane 9

使用Await.result.

import scala.concurrent.duration._
import scala.concurrent.Await

....

val future: Future[Response] = ...
Await.result(future, 10 seconds): Response
Run Code Online (Sandbox Code Playgroud)