我正在从 NodeJS 中的 GET URL API 中抓取一堆东西。我正在遍历一年中的几个月 X 一个城市。我有一个scrapeChunk() 函数,我为每个参数实例调用一次,即{startDate: ..., endDate: ..., location:...}。在里面,我对表格进行 jsdom 解析,转换为 CSV,将 CSV 附加到文件中。在所有嵌套的异步回调中,我最终使用下一个参数实例再次调用了 scrapeChunk 函数。
一切正常,但节点实例在 RAM 中不断增长,直到我收到“致命错误:CALL_AND_RETRY_2 分配失败 - 进程内存不足”错误。
我的问题:我做错了什么还是这是 JavaScript 和/或我正在使用的库的限制?我能否以某种方式完成每个任务,释放它的内存,然后开始下一个任务?我尝试了 FuturesJS 的一个序列,它似乎也遭受了同样的泄漏。