【问题标题】:How to provide an execution context to a future functor?如何为未来的仿函数提供执行上下文?
【发布时间】:2017-09-05 20:58:12
【问题描述】:

使用 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 以便它可以从调用范围获取执行上下文?我不想在每个调用类中而不是在包中创建一个新的实现。我将执行上下文依赖注入到我的类中,因此仅在此处导入全局并不实际。谢谢。

【问题讨论】:

    标签: scala future functor scala-cats


    【解决方案1】:

    也许是这个?

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多