【发布时间】:2020-07-16 15:56:25
【问题描述】:
我有一个哈希图map: Map[A, Seq[B]],我想为我的地图中的每个B 调用一个未来函数(返回Future[Either[Error, Unit]])。
例如,给定以下函数def fooFunc(hashMap: Map[A, Seq[B]]): Future[Either[Error, Unit]]
我尝试了类似的东西
def fooFunc(hashMap: Map[A, Seq[B]]): Future[Either[Error, Unit]] = {
val result = for {
_ <- hashMap.map(entry =>
entry._2.map( value =>
Future.sequence(futureFunc(value, entry._1)).liftF
)
)
} yield ()
result.value
}
导致编译错误Type mismatch, expected: NotInferedM[Future[NotInferedA]], actual: [Future[Either[Error, Unit]]]
这是我第一次处理futures 和迭代hashmap,所以我很困惑如何准确地处理这个和处理Iterable。任何提示将不胜感激
【问题讨论】:
标签: scala scala-collections scala-cats