是否有在“异步”中实现的非递归功能
is there a non-recursive feature implemented in `async`?
我需要处理相当大量的条目(数万个),具有async.each
或async.eachSeries
或async.whilst
等函数。
说我必须使用async
几乎是多余的,因为我将为每个条目调用一些查询,使代码异步。
不幸的是,使用 async
的函数,调用堆栈消耗得非常快,导致RangeError: Maximum call stack size exceeded
。
有没有办法调整async
以防止此问题?迭代实现将解决问题。有没有考虑到这个问题的替代库?
下面是显示问题的示例代码片段:
异步 = 要求('异步');
a = []
for(i = 0; i < 10000000; i++) {
a[i] = i;
}
async.eachSeries(a,function(element,callback) {
console.log(element);
callback();
},function(err){
if(err){
console.log("error:",err);
}
console.log("finished.");
});
您要查找的是tail recursion
。检查这个问题:什么是尾递归?
相关文章:
- 使用递归实现加性持久性
- 是requestAnimationFrame实现's递归
- 在 JavaScript 中真的需要提升以实现相互递归吗?
- 蓝鸟递归承诺未得到解决/实现
- 将递归函数转换为异步 CPS 实现 (javascript)
- 在 JavaScript 中,当 'parent()' 返回 Promise 时,如何实现递归的 'ancestors(
- 如何使用环回自关系实现递归联接
- 是否有在“异步”中实现的非递归功能
- 在 JavaScript 中实现递归反向函数
- JavaScript递归实现整数分区,无需重新排列
- 实现递归ajax调用,并在一个条件下停止它
- 在sproutcore2中可以实现递归集合吗?
- 在Javascript中实现一个递归的硬币更改函数
- 使用递归重新实现getElementsByClassName - Javascript
- 将Javascript局部变量设置为全局变量以实现递归循环
- 用jquery递归实现函数
- JSON.stringify的递归实现
- 函数正在调用自身,而没有在其中实现任何递归调用
- 实现一个递归函数,将对象转换为javascript中的字符串
- 在javascript中实现函数递归findById有比这更好的方法吗?