Mat*_*ips 1 javascript redis node.js
我有以下表达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);
Run Code Online (Sandbox Code Playgroud)
代码运行没有错误; 但是,data
变量是[]
它返回浏览器的时间.
奇怪的是,当我从命令行运行相同的redis命令时,将填充该数组.
谁能告诉我这里发生了什么?
dav*_*vin 10
你的代码是异步的.您传递的回调直到您的回复后才会执行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);
});
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10740 次 |
最近记录: |