无法读取node_redis hgetall函数中未定义的属性“length”

时间:2012-11-01 08:04:11

标签: node.js coffeescript redis asynccallback node-redis

我有以下代码生成错误:

leagueclient.hgetall userLeagueKey, getLeagueInfo

我已经验证了密钥是正确的,并且getLeagueInfo正确地使用正确的返回值执行,但是在我之间我得到了未定义的无法读取属性“长度”。调试说它在hgetall中。

我打开了node_redis

中的调试消息
send 127.0.0.1:6379 id 2: *2
$7
hgetall
$14
userLeagueId:0

send_command buffered_writes: 0  should_buffer: false
true
Cannot read property 'length' of undefined
net read 127.0.0.1:6379 id 2: *6
$11
challengeId
$1
0
$10
leagueName
$5
Oatmo
$22
currentDiscussionEntry
$1
2

因此,在发送请求并获得结果后会发生错误。

知道什么可能会产生错误,或者是调试它的最佳方法吗?

1 个答案:

答案 0 :(得分:1)

这里的问题原来是试图从函数返回结果而不是通过回调传递结果。我确信这是使用node的新程序员的常见问题,所以我想我会提到它。所有依赖外部访问的函数都必须使用回调函数。