Javascript 没有递归的异步循环?

Javascript 没有递归的异步循环?,javascript,asynchronous,recursion,Javascript,Asynchronous,Recursion,是否可以在JavaScript中实现一个异步循环而无需递归 举个例子,是否可以在不使用递归的情况下同步异步任务队列?队列中有N个异步任务,需要在前一个任务完成后执行每个任务 到目前为止,我看到的所有示例都使用递归来实现这一点。但是,如果我们必须处理一个很长的队列,我们不能期望递归方法有什么好处。那么,有什么替代方案,如何解决这个问题呢 正因为如此,当被问及承诺时,每个答案都依赖于递归 我们不能期望递归方法有什么好处 你的前提是错误的。当您异步执行时,递归方法(有时称为)没有什么错,它不会增加调用

是否可以在JavaScript中实现一个异步循环而无需递归

举个例子,是否可以在不使用递归的情况下同步异步任务队列?队列中有N个异步任务,需要在前一个任务完成后执行每个任务

到目前为止,我看到的所有示例都使用递归来实现这一点。但是,如果我们必须处理一个很长的队列,我们不能期望递归方法有什么好处。那么,有什么替代方案,如何解决这个问题呢

正因为如此,当被问及承诺时,每个答案都依赖于递归

我们不能期望递归方法有什么好处


你的前提是错误的。当您异步执行时,递归方法(有时称为)没有什么错,它不会增加调用堆栈。

您能给出一个具体的例子吗?第二段是具体的例子。这很好,让生活更轻松。干杯顺便说一句,我不在乎下层选民是否删除了我的问题,这是一个非常有效的问题,我得到了一个很好的答案。它可能不会增加调用堆栈,但它不是在一个无限长的承诺链中稳定地积累资源吗?如果是这样的话,当链最终结束并且所有资源都被释放时,可能会出现意外的延迟。它可能没有堆栈溢出那么糟糕,但如果是真的,那仍然是次优的。@PeterHansen在一个正确实现的promise库中@PeterHansen,我想你可以试试。构建“无限循环”承诺,并分析应用程序的内存使用情况。如果它上升,提交一个bug…