在大型数组上循环node.js脚本的最佳方法

时间:2019-06-25 11:08:55

标签: node.js

我正在从数据库中获取对象数组,并以繁重的方式使用它们的数据来创建一些SVG文件。

MongoClient.connect(MONGO)
  .then((database) => {
    data = database
    db = database.db('apidatabase')
    return db.collection('Products')
      .find({
        owner: 'pingu',
      })
      .toArray()
  })
  .then((products) => {
    products.forEach((product, index) => {
      createFiles(product) // the heavy method
    })
  })
  .catch((error) => {
    console.log({ error })
    data.close()
  })

如果我为所有对象(我有6000多个对象)启动脚本,脚本将冻结,并且什么也没做。我必须对数组进行切片,然后通过20个对象的切片对它们进行遍历。

是否有一种方法可以正确地循环访问这些对象,从而使脚本可以对所有6000个对象顺利运行?

1 个答案:

答案 0 :(得分:0)

您应该在Node.JS中派生createFiles函数并对其进行处理。请参阅documentation以了解如何进行派生并将整个响应返回给函数。