【问题标题】:TypeError: Method Uint8Array.length called on incompatible receiver nodejsTypeError:在不兼容的接收器nodejs上调用了方法Uint8Array.length
【发布时间】:2016-05-18 13:55:42
【问题描述】:

我正在使用 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)

我不知道为什么或如何,也不知道如何解决它。任何帮助表示赞赏。

【问题讨论】:

    标签: javascript node.js


    【解决方案1】:

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

    当时发生的情况是,当时可能打开了太多的文件指针,加上一些内存资源无法释放,因为我在我的实例的根文件夹中发现了一个正好为 4.0 GB 的 swapfile 文件,这是实际的内存限制。因此,由于这项繁重的工作,操作系统似乎耗尽了资源。

    适当的资源管理可能是您的问题的解决方案!

    【讨论】:

      猜你喜欢
      • 2017-01-29
      • 2019-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-07
      • 2020-09-11
      • 2021-08-04
      • 1970-01-01
      相关资源
      最近更新 更多