如何致电等待.准备返回eithert的功能[未来,失败,结果]



(1(我有一个函数返回eithert as

createData(m):EitherT[Future, Failure, Result]

(2(我想顺序进行以下转换,以便等待每个呼叫createTa逐一完成。

val futures = group.map { m => Future {createData(m)}}
Await.ready(Future.sequence(futures),10)

(3(但是,等待。dready需要将来传递,因此在上述代码中,我将Eithert与未来结合在一起。但是我认为以上代码(2(不做我想做的事情。由于仅仅等待外部包装纸的未来,并且不在乎Castenta的内在真实未来是否已完成。

我的问题:

在这种情况下,我应该如何调用(未来(等待每个内部顺序呼叫createTa均一完成?

.value返回您的未转换类型。在您的情况下,FFuture

val value: F[Either[A, B]]

这意味着您的问题应该归结为(仅用于插图(:

val futures: List[Future[Either[Failure, Result]]] = group.map {m => createData(m).value}
val results: List[Either[Failure, Result]] = Await.ready(Future.sequence(futures), 10)

最新更新