如何 return 空向量作为任务的结果?
How to return empty Vector as a result of Task?
我创建了一个简单的项目,方法之一是(它是 ZIO
Task
type Task[+A] = ZIO[Any, Throwable, A]
):
def findSmth(..) : Task[Either[Exception, Vector[SomeData]]]
在某些情况下,我想 return 一个空 Vector。
我试过这样做:
ZIO.fromFuture { implicit ctx =>
Future.successful(Right(Seq.empty[SomeData].toVector))
}
或
ZIO.fromFuture { implicit ctx =>
Future.successful(Right(Vector.empty))
}
但它总是return None
而不是空向量(空列表)。
我应该如何将此代码重构为 return 只是一个空结果(内部没有数据的向量),没有异常或无?
在 Task
对象上使用 apply
方法,
Task(Right(Vector.empty))
我创建了一个简单的项目,方法之一是(它是 ZIO
Task
type Task[+A] = ZIO[Any, Throwable, A]
):
def findSmth(..) : Task[Either[Exception, Vector[SomeData]]]
在某些情况下,我想 return 一个空 Vector。 我试过这样做:
ZIO.fromFuture { implicit ctx =>
Future.successful(Right(Seq.empty[SomeData].toVector))
}
或
ZIO.fromFuture { implicit ctx =>
Future.successful(Right(Vector.empty))
}
但它总是return None
而不是空向量(空列表)。
我应该如何将此代码重构为 return 只是一个空结果(内部没有数据的向量),没有异常或无?
在 Task
对象上使用 apply
方法,
Task(Right(Vector.empty))