如何解决从nodejs服务器流式传输复杂数组作为对http帖子的响应
我会尽量简化:
我目前拥有的一个例子
router.post('/handleMail',async (req,res,next) => {
var x = [{a:{b:"b"},c:{ok:"ok}] // just imagine this is convoluted array containing objects.
res.json({body: x})
})
因此,可以说变量“ x”非常大,包含一些base64编码的字符串等。
当我尝试像这样简单地将其返回时,该过程通常会停滞。
- 通过流式传输作为响应会对此有所帮助吗?
- 在这种情况下,我将如何将其流式传输到“ res”?
谢谢:)
解决方法
您可以尝试使用json-stream-stringify之类的库,该库从json创建可读的流,您可以将该流传输到快速响应对象中:
const JsonStreamStringify = require('json-stream-stringify');
router.post('/handleMail',async (req,res,next) => {
const jsonObject = [{a:{b:"b"},c:{ok:"ok}];
new JsonStreamStringify(jsonObject ).pipe(res);
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。