我想解析CSV文件,然后迭代数组。
文件读取功能:
function readLanguagesFile(file) {
return new Promise(function(resolve, reject) {
converter.fromFile(file, function(err, arrayLanguages) {
if (err) {
reject(err);
} else {
resolve(arrayLanguages);
}
});
});
}
迭代功能:
function handleLanguages(langArr) {
return new Promise(function(resolve, reject) {
async.eachLimit(langArr, 2, function(lang, next) {
next();
}, function(err) {
if (err) {
console.log(err);
reject(err);
} else {
resolve();
}
});
});
}
执行功能:
function seedLanguages(file) {
return new Promise(function(resolve, reject) {
readLanguagesFile(file)
.then(handleLanguages)
.then(function() {
resolve();
})
.catch(function(err) {
console.log(err);
reject(err);
});
});
}
调用exec函数:
module.exports.start = function start() {
return new Promise(function(resolve, reject) {
seedLanguages(languagesFile)
.then(function() {
resolve();
})
.catch(reportError(reject));
});
};
当我尝试处理大约8k行的大文件时,我收到错误" [nodemon] app崩溃 - 在开始之前等待文件更改..."没有任何其他信息。迭代停止了。 我可以输出数组,看起来不错。但是,在大约2k个对象迭代数组后,async.eachLimit停止了。
你能帮助我理解这个问题的原因吗? 提前谢谢!