我正在尝试在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迭代您的容器。