玩!缺少类型Promise的框架

时间:2012-12-18 18:07:34

标签: scala playframework-2.0

我正在努力获得我的第一个Scala + Play!应用程序工作,我在尝试访问我的应用程序时遇到此问题(在端口9000上):

not found: type Promise

在这一行:

val page: Promise[play.api.libs.ws.Response] = WS.url(googleApiUrl).get() 

这些是我的进口商品:

import play.api._
import play.api.mvc._
import play.api.libs.ws._
import play.api.libs.ws.Response
import play.api.http
import play.api.libs.concurrent._
import play.api.libs._

我在这里错过了什么吗?

这些是控制台上的日志:

sbt.PlayExceptions$CompilationException: Compilation error[not found: type Promise]
    at sbt.PlayReloader$$anon$2$$anonfun$reload$2$$anonfun$apply$15$$anonfun$apply$16.apply(PlayReloader.scala:322) ~[na:na]
    at sbt.PlayReloader$$anon$2$$anonfun$reload$2$$anonfun$apply$15$$anonfun$apply$16.apply(PlayReloader.scala:322) ~[na:na]
    at scala.Option.map(Option.scala:133) ~[scala-library.jar:na]
    at sbt.PlayReloader$$anon$2$$anonfun$reload$2$$anonfun$apply$15.apply(PlayReloader.scala:322) ~[na:na]
    at sbt.PlayReloader$$anon$2$$anonfun$reload$2$$anonfun$apply$15.apply(PlayReloader.scala:319) ~[na:na]
    at scala.Option.map(Option.scala:133) ~[scala-library.jar:na]

2 个答案:

答案 0 :(得分:7)

Play2.1使用Scala 未来而不是播放承诺

查看migration guide以获取更多信息,“Play的承诺将成为Scala的未来”。

一个简单的例子给出了类似的东西:

import play.api._
import play.api.mvc._
import play.api.libs.ws._

import play.api.libs.concurrent._
import play.api.libs.concurrent.Execution.Implicits._

def myAction() = Action {
    Async {
        WS.url(googleApiUrl).get.map(response => Ok("what you want here"))
    }
}

您可以使用更复杂的WS api来检查此exemple

答案 1 :(得分:3)

问题在于缺少导入:

import scala.concurrent._