在Node.jsExpress中流式传输管道JSON.stringify输出

在Node.jsExpress中流式传输管道JSON.stringify输出,第1张

在Node.js / Express中流式传输/管道JSON.stringify输出

理想情况下,应按需流式处理数据,而不要将所有内容都缓冲到一个大对象中。如果您不能更改此设置,则需要将string化分成较小的单元,并允许主事件循环使用setImmediate处理其他事件。示例代码(我假设主对象具有许多顶级属性,并使用它们来分割工作):

function sendObject(obj, stream) {    var keys = Object.keys(obj);    function sendSubObj() {       setImmediate(function(){          var key = keys.shift();          stream.write('"' + key + '":' + JSON.stringify(obj[key]));          if (keys.length > 0) { stream.write(','); sendSubObj();          } else { stream.write('}');          }       });    })    stream.write('{');    sendSubObj();}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5172997.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-18
下一篇 2022-11-18

发表评论

登录后才能评论

评论列表(0条)

保存