【发布时间】:2019-09-25 00:59:18
【问题描述】:
使用Futures 可以轻松地将Seq[Future] 转换为Future[Seq]:
Future.sequence(seqOfFutures)
我找不到与 Try 类似的东西。
它适用于foldLeft,但我真正喜欢的是Try.sequence(seqOfTry)。
没有提供这样的功能有什么原因吗?
这是如何正确完成的?
语义:
成功的值列表:Success(Seq(1,2,3,4))
失败有两种可能:
第一次失败
Failure并返回它。这是由这个问题处理的:listtryt-to-trylistt-in-scala收集所有
Failures并返回“复合”失败。
'compound'失败还有解决办法吗?
【问题讨论】:
-
我会质疑因为一个
Failure而丢弃每个Success的一般效用。 -
这样一个函数的语义是什么?
-
@YuvalItzchakov 我在我的问题中添加了语义 - 我希望这就是你的意思。
-
@jwvh 同样的推理应该适用于
Future。
标签: scala