我有一个场景,我需要从我的 Node.js/Express RESTful API 返回一个非常大的对象,转换为 JSON 字符串。
res.end(JSON.stringify(obj));
但是,这似乎不能很好地扩展。具体来说,它在我的测试机器上运行良好,有 1-2 个客户端连接,但我怀疑当许多客户端同时请求大型 JSON 对象时,此操作可能会占用 CPU 和内存。
我一直在寻找一个异步 JSON 库,但我发现的唯一一个似乎有问题(具体来说,我得到一个 [RangeError])。不仅如此,它还以一大块的形式返回字符串(例如,对整个字符串调用一次回调,这意味着内存占用不会减少)。
我真正想要的是 JSON.stringify 函数的完全异步管道/流版本,这样它就可以在将数据直接打包到流中时写入数据......从而节省了我的内存占用,也避免了消耗 CPU一种同步方式。