【发布时间】:2014-08-28 09:59:15
【问题描述】:
我必须从我的 Scala Play 框架应用程序调用外部 REST 服务。使用 WS API,我得到了一个 Future,但不确定哪个是从这个 Future 中“提取”价值的最佳方式。这是我的代码:
val externalRestServiceCall: Future[List[Data]] = WS.clientUrl(dataSourceProperties.url).get().map {
response => response.json.as[List[Data]]
}
这是我目前的方法,虽然返回一个 Future:
val timeoutFuture = play.api.libs.concurrent.Promise.timeout("Oops", 1 second)
Future.firstCompletedOf(Seq(externalRestServiceCall, timeoutFuture)).map {
case first: List[Data] => Some(first)
case _ => None
}
【问题讨论】:
标签: scala playframework