我有这个特性。
我希望您能够像这样在另一个trait中访问
然而,我遇到了错误。
trait NonBlockingGoodness extends DataStore {
import akka.dispatch.{ Future, ExecutionContext }
import akka.util.duration._
import akka.util.Timeout
implicit val ec = ExecutionContext.fromExecutorService(yourExecutorServiceGoesHere)
implicit lazy val timeout = Timeout(5 seconds)
}
我希望您能够像这样在另一个trait中访问
ExecutionContext
。trait AsyncGoodness extends NonBlockingGoodness {
import akka.dispatch.Future
def doSomething = {
Future { "Future is the bomb." }
}
然而,我遇到了错误。
Could not find implicit value for parameter executor: akka.dispatch.ExecutionContext
更新: 我找到了如何在范围内获取ExecutionContext
的方法。
trait AsyncGoodness extends NonBlockingGoodness {
import akka.dispatch.ExecutionContext
import akka.dispatch.Future
def doSomething()(implicit executor: ExecutionContext) = {
Future { "Future is the bomb." }
}
然而,我有一个后续问题。由于在AsyncGoodness
中可能会有多个使用ExecutionContext
的方法,是否有一种方法可以在trait
级别上传递它,而不是像上面每个方法都需要。