没有递归的异步循环?
Asynchronous loop without recursion?
是否可以在 JavaScript 中实现不递归的异步循环?
举个例子,是否可以在不诉诸递归的情况下同步异步任务队列?我们在一个队列中有 N 个异步任务,并且需要在前一个任务完成后执行每个任务。
到目前为止我看到的所有示例都为此使用了递归。但是如果我们必须处理一个很长的队列,我们就不能指望递归方法有什么好处。那么有什么替代方案,如何解决这个问题?
正是如此,当 similar question 被问及承诺时,每一个答案都依赖于递归。
we cannot expect anything good from a recursive approach.
你的前提是错误的。当您进行异步操作时,递归方法(有时称为 pseudo-recursion)没有任何问题,它不会增加调用堆栈。
是否可以在 JavaScript 中实现不递归的异步循环?
举个例子,是否可以在不诉诸递归的情况下同步异步任务队列?我们在一个队列中有 N 个异步任务,并且需要在前一个任务完成后执行每个任务。
到目前为止我看到的所有示例都为此使用了递归。但是如果我们必须处理一个很长的队列,我们就不能指望递归方法有什么好处。那么有什么替代方案,如何解决这个问题?
正是如此,当 similar question 被问及承诺时,每一个答案都依赖于递归。
we cannot expect anything good from a recursive approach.
你的前提是错误的。当您进行异步操作时,递归方法(有时称为 pseudo-recursion)没有任何问题,它不会增加调用堆栈。