【发布时间】:2016-09-06 22:20:27
【问题描述】:
我有一个将 json 对象流式传输到端点的服务器。这是一个简化的例子:
app.get('/getJsonObjects', function (req, res) {
res.write(JSON.stringify(json1));
res.write(JSON.stringify(json2));
res.write(JSON.stringify(json3));
res.write(JSON.stringify(json4));
res.write(JSON.stringify(json5));
res.end();
});
然后客户端使用浏览器请求,我正在尝试这样做:
var r = request(url);
r.on('data', function(data) {
console.log(JSON.parse(data));
});
问题是尽管流式传输到有效字符串化 JSON 的端点块,我从请求中返回的块只是文本块,不一定与发送的 JSON 块的开始/结束对齐服务器。这意味着 JSON.parse(data) 有时会失败。
以与写入端点相同的方式流式传输这些 json 块的最佳方式是什么?
【问题讨论】:
-
作为参考,这里是一个示例端点,我正在尝试使用请求将 json 对象串起来。 augurnode1.eastus.cloudapp.azure.com:8547/…