【发布时间】:2013-10-08 13:22:11
【问题描述】:
我想运行我未来的调用 n 次,例如 5。未来的“执行”将需要一些时间,我只想在前一个完成时调用新的。比如:
def fun(times: Int): Future[AnyRef] = {
def _fun(times: Int) = {
createFuture()
}
(1 to times).foldLeft(_fun)((a,b) => {
println(s"Fun: $b of $times")
a.flatMap(_ => _fun)
})
}
所以我想一一调用“_fun”函数n次。 “createFuture()”需要一些时间,所以在前一个未来完成之前不应再次调用“_fun”。另外,我想创建一个非阻塞解决方案。目前,此代码无需等待先前的未来结束即可执行。
任何想法如何使它工作?
感谢您的回答!
【问题讨论】:
-
你希望你的返回类型代表什么?它是否需要以某种方式聚合链接的未来调用的结果?
标签: scala nonblocking future