播放框架:如何显示Future[List[String]]



我正在探索Play Framework,并遇到了一些困难。

在使用WS库对GoogleAnalytics进行API调用之后,我收到了一个Future[Response]对象。在消化了Response对象之后,我得到了我真正关心的数据,但由于它被封装在Future中,我在将它写入浏览器时遇到了一些困难。

OK( gaApiString )

这给了我一个错误,上面写着:

无法将scala.concurrent.Fotel[String]的实例写入HTTP回答尝试定义可写[scala.concurrent.Foret[String]]

我在找&理解如何使用CCD_ 2对象。帮不了什么忙?

您需要将mapFuture传递给Future[Result],并将其传递给Action.async

def test = Action.async { 
    val wsResult: Future[String] = ...
    wsResult.map { gaApiString => 
        Ok(gaApiString)
    }
}

如果gaApiString实际上是List[String],那么这取决于你想对它做什么。将它显示为逗号分隔的列表,你可以将其更改为Ok(gaApiString.mkString(","))。这里的关键是映射Future,以便在值完成后对其进行操作。

相关内容

最新更新