Scala从future中提取结果
我不熟悉Scala,玩和使用期货。 我有下面的Play类,它进行API调用并在将来封装结果 我如何从未来中提取结果Scala从future中提取结果,scala,playframework,playframework-2.0,Scala,Playframework,Playframework 2.0,我不熟悉Scala,玩和使用期货。 我有下面的Play类,它进行API调用并在将来封装结果 我如何从未来中提取结果 class WikiArticle(url : String) { var future : Future[WSResponse] = null def queryApi(): Unit = { val holder : WSRequest = WS.url(url) future = { holder.get() } fut
class WikiArticle(url : String) {
var future : Future[WSResponse] = null
def queryApi(): Unit = {
val holder : WSRequest = WS.url(url)
future = {
holder.get()
}
future.onSuccess({
//How do I extract the result here?
});
}
尽量避免从将来提取结果。为此,您可以使用以下内容链接将来的调用:
val chainResult = for {
result1 <- apiCallReturningFuture1;
result2 <- apiCallReturningFuture2(result1)
} yield result2
所以我不建议等待期货,除非等待测试
future.onSuccess({
case result => result.json
})
future.onSuccess({
case result => result.json
})