没有递归的异步循环?

Asynchronous loop without recursion?

是否可以在 JavaScript 中实现不递归的异步循环?

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

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

正是如此,当 similar question 被问及承诺时,每一个答案都依赖于递归。

we cannot expect anything good from a recursive approach.

你的前提是错误的。当您进行异步操作时,递归方法(有时称为 pseudo-recursion)没有任何问题,它不会增加调用堆栈。