我正在使用Oboe.js从节点readStream解析JSON,并且我希望以内存有效的方式将其发回给客户端。是否可以将来自Oboe的node
或path
事件的数据传输到Node.js HTTP响应对象,这样我就可以将分析的数据随时传送给客户端,而不是将其全部收集并一次全部发送?这是我到目前为止的代码:管道oboe.js解析json到Node.js中的http响应对象
const express = require('express');
const app = express();
const PORT = 3000;
const oboe = require('oboe');
const fs = require('fs');
app.get('/download', (req, res) => {
const jsonDataStream = fs.createReadStream('./citylots.json');
oboe(jsonDataStream)
.node('features.*', function(feature) {
// res.send is non-streaming. how to stream?
res.send(feature);
});
});
app.listen(PORT,() => console.log(`up on port ${ PORT }!`));
JuanCaicedo我想我的问题是真的:是否有双流接口,或者我需要使用另一个库,如highland.js?我想避免一次缓冲内存中的整个json文件。为了回答你最后的问题,我选择了功能对象而不是整个JSON作为实验目的,但没有任何具体的意图。 – foundling