Scala 如何调用wait.ready for函数返回EitherT[未来,失败,结果]

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

(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包装了它。但是我认为上面的代码(2)并没有达到我想要的效果。因为只等待外部包装器的未来,它并不关心createData的内部真实未来是否完成

我的问题:


在这种情况下(将来),我应该如何调用wait来等待对createData的每个内部顺序调用逐个完成?

。value
返回未转换的类型
F
在您的情况下是
的未来

val value: F[Either[A, B]]
这意味着您的问题应归结为(仅用于说明的类型):


.value
返回未转换的类型
F
在您的情况下是
的未来

val value: F[Either[A, B]]
这意味着您的问题应归结为(仅用于说明的类型):