【发布时间】:2016-08-21 09:06:41
【问题描述】:
我读到了Scala Futures and Promises。
我知道我可以使用回调、flatMap 组合器或 for-comprehension 来链接期货。当一个future完成时,另一个future开始,依此类推。
有没有办法链接任意数量的期货的执行,存储在 Scala 集合中(例如List)?
我试图在这个期货列表上调用Future.sequence,但它们是一起开始的,并且是同时执行的(不是顺序执行的)。
【问题讨论】:
-
您的解决方案在这里:stackoverflow.com/a/20415056/5123895 您需要提供可以将每个项目转换为未来的项目列表和函数,类似于 Future.traverse,但这将按顺序运行。如果您已经有一个期货列表,那么您就有问题了,因为为时已晚,它们已经在运行。
-
我已尝试使用该链接中报告的解决方案并且它有效。我在写我的帖子之前阅读了它,但对我来说并不清楚。您在评论中的解释帮助我理解了它。谢谢