TypeError:在不兼容的接收者nodejs上调用方法Uint8Array.length

我使用node.js和fs.writeFile()将JSON写入文件,大约1-2.5MB的数据,但有时它给了我这个错误;

TypeError: Method Uint8Array.length called on incompatible receiver [object Object] at Buffer.get length (native) at writeFd (fs.js:1207:45) at fs.js:1198:7 at FSReqWrap.oncomplete (fs.js:82:15) 

我不知道为什么或如何,以及如何解决这个问题。 任何帮助表示赞赏。

对于运行了两周的脚本,我遇到了同样的问题,在AWS实例上以随机间隔将数据写入大约3.5万个文件。 每个文件最多2 MB。

那里发生的情况是,当时可能有太多的文件指针被打开,再加上一些内存资源不能被释放,因为我在我的实例的根文件夹中find了一个swapfile文件文件,它正好是4.0 GB,这是实际的内存限制。 所以看起来os因为这个繁重的工作而耗尽了资源。

正确的资源pipe理可能是解决您的问题!