【问题标题】:Scala Cats async functorScala Cats 异步函子
【发布时间】:2018-10-08 19:39:24
【问题描述】:

猫中有某种类型的异步函子吗?还是模仿这种行为的好方法?

例如像

trait AsyncFunctor[F[_]] {
  def mapAsync[A, B](fa: F[A])(f: A => Future[B]): F[B]
}

【问题讨论】:

  • 您的签名要求您对任何F 进行从Future[B]F[B] 的转换,或者更具体地说,对所有F 进行自然转换G[A] ~> F[A]。你确定这就是你想要的吗?
  • @YuvalItzchakov 我想是的。签名不需要完全一样,但它非常清楚地说明了我的需求(像仿函数一样映射但具有异步结果的能力)。

标签: scala functional-programming future functor scala-cats


【解决方案1】:

cats-effect 有 this monad,可以描述只产生一个结果的异步或同步计算

【讨论】:

  • 有没有办法让它与 scala Future 一起使用,以便与其他库一起使用?
  • @kag0 据我所知,来自cats-effectIO monad 伴生对象有一个fromFuture,它将Future 转换为IO,然后你可以创建异步计算。
猜你喜欢
  • 1970-01-01
  • 2019-02-25
  • 2019-05-19
  • 2017-05-08
  • 1970-01-01
  • 2019-04-09
  • 2017-10-11
  • 2021-02-25
  • 2018-06-09
相关资源
最近更新 更多