我有以下代码生成错误:
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
因此,在发送请求并获得结果后会发生错误。
知道什么可能会产生错误,或者是调试它的最佳方法吗?
答案 0 :(得分:1)
这里的问题原来是试图从函数返回结果而不是通过回调传递结果。我确信这是使用node的新程序员的常见问题,所以我想我会提到它。所有依赖外部访问的函数都必须使用回调函数。