gpt4 book ai didi

node.js - 长级别升级查询

转载 作者:太空宇宙 更新时间:2023-11-04 02:35:50 26 4
gpt4 key购买 nike

我有这条快速路线...

app.get('/:grp/:time', function(req, res){
var out = [];
var grp = grpmap[req.param('grp')];
var time = timemap[req.param('time')];
leveldb.createReadStream({start:'HEM!' + grp + '!' + time + '!', end:'HEM!' + grp + '!' + time + '!\xff', keys: false})
.on('data',function(data){
out.push(JSON.parse(data));
})
.on('close',function(){
res.send(out);
})
});

它按预期工作,但需要很长时间才能填充出来,客户端在收到响应之前需要等待几秒钟。必须有更好的方法......有什么提示吗?

谢谢。

最佳答案

这需要很长时间,因为您在发送任何内容之前都会缓冲整个结果集。

您想要做的是流式传输数据而不是缓冲。您需要使用类似 JSONStream 的模块像这样:

var JSONStream = require('JSONStream')

app.get('/route', function (req, res) {
db.createReadStream({...}).pipe(JSONStream.stringify()).pipe(res);
})

整个请求可能需要相同的时间,但您应该很快开始接收数据,因为这不会等到所有结果都已缓冲后再发送任何内容。

关于node.js - 长级别升级查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22442098/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com