【发布时间】:2015-09-10 03:42:30
【问题描述】:
考虑一个 scala 代码:
def myRecursiveFunction(id:string):Unit= {
myAsyncDao.search(id).foreach {response=>
myRecursiveFunction(response.id)
}
}
//myAsyncDao.search returns a Future
//response have id field for further computations
如果我将 @tailrec 放在顶部 op 函数上,编译会报错 Recusive call not in tail position。
可以优化为尾递归吗?
【问题讨论】:
-
如您所见in this answer,您的解决方案不需要尾递归,因为堆栈无论如何都不会增长。
标签: scala recursion callback future