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

回到顶部