gpt4 book ai didi

javascript - nodejs express 应用程序不会返回 json 数组

转载 作者:IT王子 更新时间:2023-10-29 06:08:12 26 4
gpt4 key购买 nike

我有以下 express node.js 应用程序。它使用“redis”npm 包。

app.get("/test",function(req,res){
var data = [];
client.HGETALL("receipts",function(err,obj){
for(var id in obj){
data.push(JSON.parse(obj[id]));
}
});
console.log(data);
res.json(data);
});

app.listen(3000);

代码运行没有错误;但是,data 变量在返回到浏览器时是 []browser

奇怪的是,当我从命令行运行相同的 redis 命令时,数组被填充。

enter image description here

谁能告诉我这是怎么回事?

最佳答案

您的代码是异步的。您传递的回调在 您的 console.log 之前不会执行。尝试:

app.get("/test",function(req,res){
var data = [];
client.HGETALL("receipts",function(err,obj){
for(var id in obj){
data.push(JSON.parse(obj[id]));
}
console.log(data);
res.json(data);
});
});

关于javascript - nodejs express 应用程序不会返回 json 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10020315/

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