如何为未来的仿函数提供执行上下文?

时间:2017-04-10 17:36:16

标签: scala future functor scala-cats

使用Cats,我在包对象中有我的函子声明。这项工作正常,futureFunctor除外,因为它需要隐式ExecutionContext

package object util {

  implicit val futureFunctor: Functor[Future] = new Functor[Future] {
    //requires execution context:
    def map[A, B](fa: Future[A])(f: A => B): Future[B] = fa map f
  }

  ...
}

有没有办法实现futureFunctor,以便它可以从调用范围获取执行上下文?我不想在每个调用类中而不是在包中创建一个新的实现。我是依赖项 - 将我的执行上下文注入到我的类中,所以在这里导入全局并不实际。感谢。

1 个答案:

答案 0 :(得分:1)

也许这个?

implicit def futureFunctor (implicit ec: ExecutionContext): Functor[Future] = ...