【发布时间】:2020-07-21 03:41:00
【问题描述】:
我目前正在向我的 Node 应用程序发出一个发布请求,以从 index.html 获取密钥和值。
client.set 用于设置键值,client.get 用于获取所有键值。但是,我无法console.log() 尝试发送两次响应的值。
错误:
_http_outgoing.js:485
throw new ERR_HTTP_HEADERS_SENT('set');
^
Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
下面是我用来获取所有键值的逻辑。
app.js
var client = redis.createClient();
var port = 6379;
var host = "127.0.0.1";
var client = redis.createClient(port, host);
router.post('/route1', function(req, res)
{
var valarr=[];
keyname= req.body.keyname;
valuename= req.body.valuename;
console.log(keyname);
console.log(valuename);
client.set(keyname, valuename, function(err, reply) {
console.log(reply);
});
client.keys('*', function(err, keys) {
console.log(keys);
for(var i=0;i<keys.length;i++){
client.get(keys[i], function (error, value) {
if (err) return console.log(err);
console.log(value);
valarr.push(value);
});
}
res.json({result1:keys, result2: valarr});
});
});
【问题讨论】:
标签: node.js redis http-headers