我试图在hget块内的node.js中执行hdel命令。代码如下:
client.hget(requests[i], "client", function(err, client){
if(isUser == true){
client.hdel(requests[i], function(err){
if(err){
console.log("cannot process request");
}
});
}
});
它不起作用,我不明白为什么!任何帮助都将不胜感激。
最佳答案
由于您使用requests[i]作为参数,我们可以假设这段代码被封装在一个循环中:也许您试图在数组上迭代并为每个项执行hget/hdel。
在这种情况下,javascript的作用域规则很可能会对您造成影响:请求[i]是闭包的一部分,但闭包只能在函数级(而不是块级)定义。
您可能需要定义一个内部函数,或者使用foreach在容器上迭代。更多信息请点击此处:
nodejs, redis. check if keys exists and create new if not
For loop get items from redis delay
关于node.js - 在hget块nodejs redis中的hdel,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13169522/