Node – callback函数停止处理大数组

我在node.js应用程序中处理大约28,000个相当大的对象的数组。 出于某种原因,当我在数组中超过10,000个项目时,这个数据处理任务的最后一个模块是不会被调用的 – 它只是挂在最后。 如果我将数组拼接到大约1或2千个对象,那么它就可以完美地工作。

我很迷茫 我一直在盯着这个bug。 我最初认为这是一个q的错误,但在尝试提出的解决schemeq和replace与asynchronousq,执行仍然停止。

代码基本如下所示:

main.js

var task1 = require('task1'); var buggyTask = require('task2'); var notCalledTask = require('task3'); return task1().then(buggyTask).then(notCalledTask); 

buggyTask.js

 module.exports = function(items) { var updateOrInsertData = function(item) { return Q(Item.create(item)); }; return Q.all(items.map(updateOrInsertData)); }; 

我应该补充一点,该程序绝对不是内存不足。 我用--max-old-space-size=4096运行它