Подтвердить что ты не робот

Play Framework 2.1 - Не удается найти неявный ExecutionContext

Я вызываю веб-сервис следующим образом:

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

4b9b3361

Ответ 1

В соответствии с этот вопрос, он исправлен в документации. Мне нужно было добавить следующий импорт:

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

Ответ 2

Начиная с Play 2.4 вы можете ввести значение по умолчанию execution context через зависимость Guice: injection.

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'")
     }
   }
}

Ответ 3

Альтернативный вариант:

import scala.concurrent.ExecutionContext.Implicits.global