Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 使用CAT组合不同类型的期货_Scala_Scala Cats - Fatal编程技术网

Scala 使用CAT组合不同类型的期货

Scala 使用CAT组合不同类型的期货,scala,scala-cats,Scala,Scala Cats,我有不同类型的期货 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

我有不同类型的期货

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)
但是正如你所看到的,我已经导入了所有的隐式、intance.future.u和语法


我在Scala 2.11.8上使用Cats 0.9.0

您缺少隐式的
执行上下文

import scala.concurrent.ExecutionContext.Implicits.global

Future[T]
上使用类型类模式时,我已经多次遇到这种情况,执行上下文总是很容易忘记的,但会使类型类无法正确解析隐式。

实际上,导入
cats.implicits.\u
并分别导入
cats.instances.future.\u
将创建冲突的隐式。不要两者都用。