如何获得“get”命令的实际值不是“true”?
嗨@yuany - 这是一个传统的 Node.js 库,因为您提供回调以在结果准备好时异步执行。
IE:
client.get("foo", function (error, value) { /* ... */ })
这是 Node.js 工作方式的结果,IO 操作是异步完成的。
这些函数的返回值_不是_值。
谢谢, @brycebaril我已经尝试过这样的功能:
var result = client.get("foo", function (error, value) { return value});
alert(result);//结果将是'false'或'true',但我想通过redis的键返回值是真实值。
嗨@yuany——这不是节点在执行 IO 时的工作方式。
回调提供了在结果可用时执行的上下文。 所有其他不依赖于 IO 的代码将在 IO 操作排队、执行和等待回复时运行。
这是了解有关其工作原理的更多信息的好地方: https :
例如
client.get("foo", function (error, value) {
// value is only defined in the context of this callback
console.log(value)
})
// this parent code has already executed, before it asked Redis for the value
谢谢, @brycebaril我现在很清楚,回调函数的执行是异步的问题。
最有用的评论
嗨@yuany - 这是一个传统的 Node.js 库,因为您提供回调以在结果准备好时异步执行。
IE:
这是 Node.js 工作方式的结果,IO 操作是异步完成的。
这些函数的返回值_不是_值。