使用 async.queue 超出最大调用堆栈大小
Maximum call stack size exceeded using async.queue
我正在运行下面的代码,但我超出了堆栈大小,我不知道为什么。该代码适用于较少的项目(测试最多 1000 个)。当我尝试使用大量项目时,我总是收到此错误。顺便说一句,我正在使用解析sdk。
d:'GitHub'ExampleProj'node_modules'parse'build'parse-latest.js:785
each(slice.call(arguments, 1), function(source) {
^
RangeError: Maximum call stack size exceeded
有什么想法吗?这是代码的干净版本
var q = async.queue(function (user, callback) {
user.signUp(null, {
success: function(user) {
callback();
},
error: function(user, error) {
callback();
}
});
}, 100);
q.drain = function() {
console.log('All items have been processed');
};
// ~17000 items
for(var i=0; i < sqlFiles.length; i++) {
var user = {
...
};
q.push(user);
}
节点堆栈大小类似于使用 v8 引擎的浏览器中的堆栈大小,大约为 25 000。但是您可以使用控制台参数来增加它:
node --stack-size=1000000000 file.js
相关文章:
- 是什么让一个“;Uncaught RangeError:超过了最大调用堆栈大小“;错误(Chrome,在其他浏览器中显示
- 超过了async.detect最大调用堆栈大小
- 如何远程检查JavaScript应用程序的函数调用堆栈
- 超过了最大调用堆栈大小,循环无限
- 超过了最大调用堆栈大小.递归标签
- 日志:未捕获的范围错误:超过了最大调用堆栈大小
- 未捕获的范围错误:setTimeout()超过了最大调用堆栈大小
- JavaFX+WebView/Javascript:setTimeOut不起作用调用堆栈来自Java
- JavaScript继承:未捕获的范围错误:超过了最大调用堆栈大小
- 使用$cookies和$stateChangeStart检查sessionID是否超过了最大调用堆栈
- jQuery捕获"RangeError:超过了最大调用堆栈大小“;
- 设置这个.RangeError:超过了最大调用堆栈大小
- 收到“范围错误: 超出最大调用堆栈大小”错误
- 递归 - 测试最大堆栈大小时,调用堆栈无法弹出
- 轮询 ajax 函数超出调用堆栈
- Chrome RangeError:使用jQuery$.map时超过了最大调用堆栈大小
- 要求JS 2.1.9引起“;最大调用堆栈"使用Grunt时出错
- Chrome/jQuery未捕获范围错误:超过了最大调用堆栈大小(函数循环)
- 超过了最大调用堆栈大小-没有明显的递归
- 警告:字体加载过程中出错:轨道上的PDFJS超过了最大调用堆栈大小错误