我打电话给这样的网络服务:
WS
.url(url)
.get
.map { response => // error occurs on this line
response.status match {
case 200 => Right(response.json)
case status => Left(s"Problem accessing api, status '$status'")
}
}
完整错误:Error: Cannot find an implicit ExecutionContext, either require one yourself or import ExecutionContext.Implicits.global
答案 0 :(得分:115)
根据this issue,它已在文档中修复。我需要添加以下导入:
import play.api.libs.concurrent.Execution.Implicits._
答案 1 :(得分:1)
从Play 2.4开始,您可以通过Guice依赖注入默认execution context
:注入。
class Foo @Inject()()(implicit ec:ExecutionContext) {
def bar() = {
WS.url(url)
.get
.map { response => // error occurs on this line
response.status match {
case 200 => Right(response.json)
case status => Left(s"Problem accessing api, status '$status'")
}
}
}
答案 2 :(得分:-1)
An alternative option:
import scala.concurrent.ExecutionContext.Implicits.global