【发布时间】:2020-07-14 05:57:27
【问题描述】:
我想调用一个方法 n 次。仅当前一个调用成功时,才应进行每个后续调用。此方法返回一个未来。我尝试的代码是这样的
def doSomething: Future[R] = Future {
//some logic
???
}
def outer() = {
val range = { 1 to 5 }
def inner(range: Seq[Int]): Future[R]=
range.headOption match {
case Some(head) =>
doSomething.flatMap { _ => inner(range.tail)}
case None => ???
}
inner(range)
}
如果没有,我想返回最后运行的未来的值。如何做到这一点?
【问题讨论】:
-
我不得不问,如果你想同步期货,为什么要创建 N 个期货。为什么不把所有东西都搬过去?
-
我有数据需要批量处理。每个批次都将由未来处理。