【发布时间】:2014-12-30 23:53:10
【问题描述】:
我正在学习如何在我正在做的项目中使用 Scala 和 PlayFramework。由于我的目标与blog 中提出的目标相似,因此我将代码基于其中。但是,在尝试复制该代码时,我发现其中有一个错误
def stats( id: String ) = WebSocket.async[JsValue] { request =>
Hosts.hosts.find( _.id == id ) match {
case Some( host ) => Statistics.attach( host )
case None => {
val enumerator = Enumerator
.generateM[JsValue]( Promise.timeout( None, 1.second ) )
.andThen( Enumerator.eof )
Promise.pure( ( Iteratee.ignore[JsValue], enumerator ) )
}
}
}
错误说 value Pure 不是对象 play.api.libs.concurrent.Promise 的成员,最初我认为由于此代码基于旧版本的 Play,因此发生了一些变化。但是我去检查了更新日志,Promise 似乎几乎没有变化,根据文档,Pure 仍然是其中的一员。这可能是非常简单的事情,但对于这个我很陌生,为什么会发生这个错误,因为代码应该经过尝试和测试并且仍然与这个版本兼容。
【问题讨论】:
标签: scala playframework playframework-2.0