hget块内的hdel阻塞nodejs redis
我正在尝试在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");
}
});
}
});
它不起作用,我不明白为什么!任何帮助将不胜感激。
回答:
由于您使用request [i]作为参数,因此我们可以假定此代码块被封装在循环中:也许您正在尝试对数组进行迭代并为每个项目执行hget / hdel。
在这种情况下,您很有可能会被Javascript的作用域规则所困扰:requests [i]是闭包的一部分,但是闭包只能在函数级别(而不是块级别)定义。
您可能需要定义一个内部函数,或使用forEach迭代您的容器。
以上是 hget块内的hdel阻塞nodejs redis 的全部内容, 来源链接: utcz.com/qa/409066.html