我有一个返回类型为的简单方法签名 EitherT
:
def run(someEither: Either[SomeException, Statement], id: String): EitherT[Future, EncodingException, ResultSet]
但更高级的方法有一个特征:
def someMethod(...) : zio.IO[SomeException, SomeResult]
我打电话来 run
方法内部 someMethod
这样地:
run(someEither, data.getOrElse("empty")).bimap(
{ e: SomeException => IO.fail(e) },
_ => IO.succeed(entity)
)
但我有个错误 Type mismatch
-要求: IO
,找到: EitherT
. 如何转换 EitherT
进入 zio.IO
?
1条答案
按热度按时间trnvg8h31#
我想你可以这样做: