gpt4 book ai didi

scala - 使用 Cats 组合不同类型的 future

转载 作者:行者123 更新时间:2023-12-01 09:26:07 24 4
gpt4 key购买 nike

我有不同类型的 future 。

import cats.Cartesian
import cats.instances.future._
import cats.syntax.cartesian._
import scala.concurrent.Future
import cats.implicits._

val aF : Future[Either[X, Y]] = getFuture(...)
val bF : Future[Either[X, Y]] = getFuture(...)
val cF = Future[List[Long]] = getFuture2(...)

val combinedFuture = Cartesian.tuple3(aF, bF, cF)
combinedFuture match {case (a, b, c) =>
...
}

但是我得到一个错误

Error:(36, 44) could not find implicit value for parameter cartesian: cats.Cartesian[scala.concurrent.Future]
val combinedFuture = Cartesian.tuple3(aF, bF, cF)

但如您所见,我已经导入了所有隐式、instances.future._ 和语法。

我在 Scala 2.11.8 上使用 Cats 0.9.0

最佳答案

您缺少隐式的 ExecutionContext:

import scala.concurrent.ExecutionContext.Implicits.global

我在 Future[T] 上使用类型类模式时发生过很多次这种情况,它总是很容易被遗忘的执行上下文,但使得类型类无法解析隐式

关于scala - 使用 Cats 组合不同类型的 future ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45081455/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com