" [nodemon]应用程序崩溃 - 在开始之前等待文件更改..."当尝试使用async.eachLimit和promises迭代大型数组时

时间:2016-06-30 17:07:35

标签: arrays node.js asynchronous promise each

我想解析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停止了。

你能帮助我理解这个问题的原因吗? 提前谢谢!

0 个答案:

没有答案