node.js - 在大型数组上循环 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 个对象顺利运行?
解决方案
您应该createFiles
在 Node.JS 中 fork 函数并对其进行处理。请参阅文档以了解如何将整个响应分叉并检索回您的函数。
推荐阅读
- ruby-on-rails - 如何使选择选项标签中的值属性在rails中有url
- mysql - 如何获取某个列未通过另一个表链接到某个值的数据库表条目?
- binary - 结合精细和粗糙的多速同步角度
- java - 如何制作可滚动的长图像页面?
- python - 如何使用python在selenium中查找(检测)表格元素并将内容复制/保存在文件(excel文件)中
我是 Python 和 Selenium 自动化框架的新手,需要了解如何检测以表格形式放置的信息(请参阅附图)并将信息写入 Excel 文件。
在图片中,一些用户 (AZ) 有 3 列(姓名、用户名、电子邮件地址),右侧突出显示的部分显示了相应的元素。
我不知道哪个(以及如何)选择器可以识别每一行,直到 for/while 循环中的最后
- powershell - 通过哈希比较文件,但我需要的不仅仅是哈希的名称
- ios - Googlecast 标签未本地化为设备语言
- python - DJango 模板未找到问题
- c# - WCF 服务未连接到测试客户端
- ruby-on-rails - 如何在本地测试地理编码器?