【发布时间】:2018-08-30 07:19:38
【问题描述】:
假设我有以下设置:
def foo: Either[Error, A] = ???
def bar: EitherT[Future, Error, B] = ???
case class Baz(a: A, b: B)
如何使用 for comprehension 来实例化 Baz 类?我试过了:
val res = for {
a <- foo
b <- bar
} yield Baz(a, b)
但是,结果的类型为Either[Error, Nothing]。我不知道在这种情况下正确的返回类型是什么,但显然我不想要Nothing...
结合Either和EitherT进行理解的正确方法是什么?
【问题讨论】:
标签: scala scala-cats