Scala 如何调用wait.ready for函数返回EitherT[未来,失败,结果]
(1) 我有一个函数返回它为Scala 如何调用wait.ready for函数返回EitherT[未来,失败,结果],scala,scalaz,scala-cats,Scala,Scalaz,Scala Cats,(1) 我有一个函数返回它为 createData(m):EitherT[Future, Failure, Result] (2) 我希望按顺序执行以下转换,以便等待每次调用逐个完成createData val futures = group.map { m => Future {createData(m)}} Await.ready(Future.sequence(futures),10) (3) 然而,Await.ready需要传入Future,所以在上面的代码中,我用Future
createData(m):EitherT[Future, Failure, Result]
(2) 我希望按顺序执行以下转换,以便等待每次调用逐个完成createData
val futures = group.map { m => Future {createData(m)}}
Await.ready(Future.sequence(futures),10)
(3) 然而,Await.ready需要传入Future,所以在上面的代码中,我用Future包装了它。但是我认为上面的代码(2)并没有达到我想要的效果。因为只等待外部包装器的未来,它并不关心createData的内部真实未来是否完成
我的问题:
在这种情况下(将来),我应该如何调用wait来等待对createData的每个内部顺序调用逐个完成?
。value
返回未转换的类型F
在您的情况下是的未来
:
val value: F[Either[A, B]]
这意味着您的问题应归结为(仅用于说明的类型):
.value
返回未转换的类型F
在您的情况下是的未来
:
val value: F[Either[A, B]]
这意味着您的问题应归结为(仅用于说明的类型):